Your first pull request: the first conditional and unless
About this lesson
B1 learners reply to code review with unless and the first conditional in this English for IT lesson plan about pull requests.
- Grammar
- The first conditional with will, won't, can or might (If you add a test, I'll approve it.) and unless for if not: We won't merge it unless the tests pass.
- Topic
- Pull requests and code review at Kestrel Cloud, a fictional payments startup, with words such as code owner, merge conflict, revert and compromise.
- Activities
- Hacktoberfest's story, a reviewed pull request, a call that settles a disagreement, self-checking drills, a chat and role cards, then a pull request description to write and a call to record.
What's inside
Chapter 1Warm-up: Your First Pull Request
Chapter 2The Story: Thirty-One Days of Open Source
Chapter 3At Work: Pull Request #962
Chapter 4Listen: Cache or No Cache?
Chapter 5Grammar: If We Cache It, It Will…
- Study the scheme: the first conditionalGrammar schemeTry it
- Choose the correct option to complete each review commentChoose the optionTry it
- Rewrite the sentences with unless: fill in the gapsFill in the gapsUnlock
- Match the causes and the resultsMatchUnlock
- Fill in the gaps in Iryna's reply with the present simple or willFill in the gapsUnlock
Chapter 6Speak Up: Settle It on a Call
Chapter 7Homework: Reply Like a Pro
- Read your phrase bankReal-life documentUnlock
- Do you remember? Choose the correct answerQuizUnlock
- Is the sentence correct? True or falseTrue or falseUnlock
- Find the matching pairs: words and meaningsMemory gameUnlock
- Write a pull request description and two repliesWriting, checked by the teacherUnlock
- Record yourself settling a disagreementSpeaking, checked by the teacherUnlock
Vocabulary
12 words and phrases from the lesson, each with a picture and audio in edio.
+9 more with pictures and audio in the lessonMore words
- a pull request description
- a code owner
- a merge conflict
- a compromise
- pull-to-refresh
- cache
- revert
- rebase
- address a comment
Grammar: the first conditional and unless in code review
Code review runs on consequences: if the author changes this, that will happen. Working through a pull request and the call that settles it, learners use if + present with will for results and promises, replace if … not with unless and keep will out of the if-clause.
First conditional: if this happens, that will happen
Talk about real consequences, promises and conditions: If + present simple, will / won't + base verb.
If + present simple, will + base verb
The if-clause takes the present simple, and the result takes will or won't with the base verb: If we cache the list, the screen will load faster. With if first, a comma separates the clauses; with if second, there's none: I'll approve it if you add a test.
The form
If + present simplewill / won't + base verb
If we cache the list, the screen will load faster.
If you add a test, I'll approve it.
If first or second?
If first: use a comma
- If you add a test, I'll approve it.
If second: no comma
- I'll approve it if you add a test.
Consequences, risks, promises and unless
The result clause can warn, promise or open a door: won't or might for a risk (the merchant might see an old status), I'll for a promise, can for a possibility. Unless means if not and takes a positive verb: We won't merge it unless the tests pass.
| Use | Form | Example |
|---|---|---|
| A consequence | If + present, will + verb | If we cache this, the page will load faster. |
| A risk | If + present, won't / might + verb | If a refund changes, the merchant might see an old status. |
| A promise | If you + present, I'll + verb | If you add a test, I'll approve it. |
| A possibility | If + present, can + verb | If Rui approves it, Iryna can merge it. |
| A negative condition | If + don't / doesn't + verb | If we don't cache it, the screen will stay slow. |
| unless = if not | unless + present (positive) | We won't merge it unless the tests pass. |
| A question | What will happen if…? | What will happen if the merchant is offline? |
From the pull request and the call
The examples follow the review from a problem (it won't appear in the cached list) through a plan B (we can revert this PR) to a condition: Let's not merge it unless Jordan tests it on a slow network.
- If a merchant issues a new refund, it won't appear in the cached list.a problem
- If we cache the list for five minutes, merchants will see old statuses.a risk
- If the cache causes problems, we can revert this PR.a plan B
- If a merchant pulls down, the app will load the newest list.a consequence
- Let's not merge it unless Jordan tests it on a slow network.a condition
Zero or first conditional?
The zero conditional, present + present, states what always happens: If the list is empty, the app shows a message. The first conditional covers one real future situation, a promise or a warning: If you add a test, I'll approve it.
Zero or first conditional?
Zero conditional (present + present) is for things that always happen: If the list is empty, the app shows a message. First conditional (present + will) is for one real situation in the future, a promise or a warning: If you add a test, I'll approve it.
Typical mistakes
If we will cache the list, it will load faster.
If we cache the list, it will load faster.
no will in the if-clause
If you add a test, I approve it.
If you add a test, I'll approve it.
a promise needs will
We won't merge it unless the tests don't pass.
We won't merge it unless the tests pass.
unless already means if not
If it break, we'll revert it.
If it breaks, we'll revert it.
he / she / it + -s in the if-clause
More lessons on this grammar: Zero and first conditional lessons and exercises
Try the unless exercises
Try them yourself: these are the same exercises your students do in edio.
What's in the lesson
- 12 auto-checked exercises
- 3 games
- 2 teacher-checked tasks
- 2 real-life documents
- 1 article
- 1 grammar scheme
- 1 set of word cards
- 1 audio clip
- 1 picture
- 1 transcript
The main objectives of this lesson are to:
- talk about consequences and risks with the first conditional: If we cache the list, the screen will load faster.
- make promises and set conditions: If you add a test, I'll approve it. We won't merge it unless the tests pass.
- keep will out of the if-clause and don't out of unless: If it breaks, we'll revert it.
- reply to review comments and settle a disagreement on a call: I see your point, but… What if we cache it for one minute?
Lesson 12 closes Code review, unit 4 of English for IT B1 · Inside the Team, whose goal is review comments that help and replies that stay calm. It takes the first conditional of A2.2 lesson 15 into code review, adds unless and sets both beside lesson 8's zero conditional. As the unit's last lesson, it carries the work task and a review of the unit's grammar. In a review, If you add a test, I'll approve it turns a request into a clear deal.
Students start with a wheel of questions about first changes and reviews, then meet twelve words for pull requests, from open source to address a comment, with pictures and audio. The story covers Hacktoberfest, started by DigitalOcean in 2014, and how careless pull requests led to new rules in 2020. At work, students read Iryna's pull request #962 with Rui's review and choose the best reply to six comments; in the AI-voiced call that follows, the two agree on a compromise about the cache.
After the scheme, four drills check themselves, including sentences to rewrite with unless. In the speaking chapter, students answer Wes's questions in a chat, then take role cards and settle a disagreement on a call. Homework opens with a phrase bank for replying to feedback, then two review drills and a memory game that check themselves; students then write a pull request description with two replies and record a call that settles a disagreement, both for the teacher to review.
- Grammar:
- first conditional · unless
- Topic:
- code review · pull requests · open source · replying to feedback
Teaching tips
- Turn the group's own review comments into deals: learners answer each with a condition, such as If you add a test, I'll approve it or We won't ship it unless…
- Before the call, ask the class to take sides: a five-minute cache or none at all? Each side argues with one If we…, … will… sentence, then everyone listens for the compromise.
- Write the trap on the board: We won't merge it unless the tests don't pass. Ask what it really says, then let learners fix it by swapping in if not.
- One-to-one, use a disagreement from the learner's job, such as a release date or a test plan, and role-play the call twice, swapping sides, so each position needs a condition.
Liked it?
Teach the whole lesson in edio
25 exercises in 7 chapters, ready to teach. edio is an online platform for language schools and teachers: ready-made interactive lessons, live classes, homework and student progress in one place.
Start a free trial
7 days, no credit card.
Open the lesson
Find it in the library of 621 ready lessons. Teach it as it is, or copy any chapter into your own lessons.
Teach it live or as homework
Students work in their own accounts, in sync with you during the lesson, and the practice exercises check themselves.
The whole course: English for IT B1 · Inside the Team
24 lessons at B1 for people who build, test or run software, in American English. Learners follow Iryna, a junior developer, through her first year at Kestrel Cloud, a fictional payments startup: standups, tickets, code review, chats across time zones and job interviews. Each lesson is built around a true story from software history.See the course
Unit 1 Hello, team
roles, stacks and first days: the present simple, the present perfect with for and since, question forms
Unit 2 The daily standup
updates and blockers: the present simple and continuous, just, already and yet, have to and need to
Unit 3 Bugs and tickets
clear bug reports: the past continuous, imperatives and the zero conditional, quantifiers
Unit 4 Code review
kind, useful comments: -ed and -ing adjectives, modals for suggestions, the first conditional
Lesson 10What's a nit?-ed and -ing adjectives in review comments
Lesson 11Could we maybe…?Modals for suggestions in code review
Lesson 12 · you're hereYour first pull requestThe first conditional and unless in code review
Unit 5 How it works
explaining systems step by step: time clauses, the passive, relative clauses
Unit 6 Remote and async
chat, email and time zones: polite requests, future forms, the present perfect continuous
Unit 7 Users and clients
user stories and plain explanations: verb + to or -ing, reported speech, comparisons
Unit 8 Your next job
resumes and interviews: used to, the past perfect, the second conditional




















