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

  1. Chapter 1Warm-up: Your First Pull Request

    • PictureUnlock
    • Spin the wheel and answerSpin the wheelUnlock
    • Study the words for your first pull requestVocabularyTry it
    • Look at the pictures and choose the wordChoose by pictureUnlock
  2. Chapter 2The Story: Thirty-One Days of Open Source

    • Read the story about HacktoberfestArticleUnlock
    • Choose the correct answer about the storyQuizUnlock
  3. Chapter 3At Work: Pull Request #962

    • Read Iryna's pull request and the reviewReal-life documentTry it
    • True or false? Check the pull requestTrue or falseUnlock
    • Choose the best reply to each review commentQuizUnlock
  4. Chapter 4Listen: Cache or No Cache?

    • Listen to Iryna and Rui's callListeningTry it
    • Transcript, for the teacherUnlock
    • True or false? Check the callTrue or falseUnlock
  5. 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
  6. Chapter 6Speak Up: Settle It on a Call

    • Choose the right replies to WesChatTry it
    • Open a box: take a role and settle it on a callOpen the boxUnlock
  7. 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.

UseFormExample
A consequenceIf + present, will + verbIf we cache this, the page will load faster.
A riskIf + present, won't / might + verbIf a refund changes, the merchant might see an old status.
A promiseIf you + present, I'll + verbIf you add a test, I'll approve it.
A possibilityIf + present, can + verbIf Rui approves it, Iryna can merge it.
A negative conditionIf + don't / doesn't + verbIf we don't cache it, the screen will stay slow.
unless = if notunless + present (positive)We won't merge it unless the tests pass.
A questionWhat 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.

  1. Start a free trial

    7 days, no credit card.

  2. 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.

  3. 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

  1. Unit 1 Hello, team

    roles, stacks and first days: the present simple, the present perfect with for and since, question forms

    1. Lesson 1How big is a two-pizza team?Present simple for jobs and responsibilities
    2. Lesson 2Your first "Hello, World"Present perfect with for and since
    3. Lesson 3Write your personal READMEQuestion forms for getting to know colleagues
  2. Unit 2 The daily standup

    updates and blockers: the present simple and continuous, just, already and yet, have to and need to

    1. Lesson 4Why is it called a scrum?Present simple vs continuous and state verbs
    2. Lesson 5Done, not done yetPast simple, present perfect and going to for updates
    3. Lesson 6Help, I'm blocked!Have to, need to, don't have to and can't
  3. Unit 3 Bugs and tickets

    clear bug reports: the past continuous, imperatives and the zero conditional, quantifiers

    1. Lesson 7The first actual bugPast simple and past continuous for bug stories
    2. Lesson 8Steps to reproduceImperatives and the zero conditional for bug reports
    3. Lesson 9The email that couldn't go 500 milesQuantifiers in bug tickets
  4. Unit 4 Code review

    kind, useful comments: -ed and -ing adjectives, modals for suggestions, the first conditional

    1. Lesson 10What's a nit?-ed and -ing adjectives in review comments
    2. Lesson 11Could we maybe…?Modals for suggestions in code review
    3. Lesson 12 · you're hereYour first pull requestThe first conditional and unless in code review
  5. Unit 5 How it works

    explaining systems step by step: time clauses, the passive, relative clauses

    1. Lesson 13What happens when you type a URL?Time clauses with as soon as, until and once
    2. Lesson 14How is a barcode read?The present and past simple passive
    3. Lesson 15Draw it, then say itDefining relative clauses
  6. Unit 6 Remote and async

    chat, email and time zones: polite requests, future forms, the present perfect continuous

    1. Lesson 16Just say what you needPolite requests and indirect questions
    2. Lesson 17Your 9 a.m. is my noonFuture forms for plans across time zones
    3. Lesson 18Write it downPresent perfect continuous for status updates
  7. Unit 7 Users and clients

    user stories and plain explanations: verb + to or -ing, reported speech, comparisons

    1. Lesson 19As a user, I want…Verb + to or verb + -ing
    2. Lesson 20"The client said it was broken"Reported speech for client calls
    3. Lesson 21Explain it in ten hundred wordsComparisons for plain explanations
  8. Unit 8 Your next job

    resumes and interviews: used to, the past perfect, the second conditional

    1. Lesson 22A resume that shows resultsUsed to for your career path
    2. Lesson 23Tell me about a time when…The past perfect for STAR stories
    3. Lesson 24What would you do if…?The second conditional for interviews

Questions about this lesson

How do you use unless in English?
Use unless to mean if not, before a positive verb: We won't merge it unless the tests pass means We won't merge it if the tests don't pass. It sets the one condition that changes the result: I won't approve it unless you add a test. Your first pull request, a B1 English for IT lesson on edio.ai, puts it to work in code review.
What does unless mean?
Unless means if not or except if: The app will show the new list unless the call fails means it will show the new list if the call doesn't fail. The clause after unless names the case that stops the result. At work, it's common in conditions and warnings: You can't merge the PR unless you fix the merge conflict. The tester will ask a lot of questions unless you write clear steps.
What is the first conditional used for?
The first conditional, if + present simple and will + base verb, is for real future situations and their likely results: If we cache the list, the screen will load faster. At work it also states risks (the merchant might see an old status), promises (If you add a test, I'll approve it.) and questions: What will happen if the merchant is offline? The B1 lesson Your first pull request on edio.ai practices each.
Can you use unless in the first conditional?
Yes: unless replaces if … not in the condition, and the other clause keeps will, won't or can. If you don't add a test, I won't approve it becomes I won't approve it unless you add a test. The verb after unless stays in the present simple, as in any if-clause: We won't ship it unless Jordan tests it on a slow network, not unless Jordan will test it.
Is it "unless the tests pass" or "unless the tests don't pass"?
It's unless the tests pass, with a positive verb, because unless already means if not. We won't merge it unless the tests don't pass says the opposite of what you mean: you'd merge only when the tests fail. Check by swapping in if not: We won't merge it if the tests don't pass. A chat in the B1 English for IT lesson Your first pull request on edio.ai sets the same trap.
Can you use will in an if-clause?
In the first conditional, the if-clause takes the present simple, not will: If we cache the list, it will load faster, not If we will cache the list. Will goes in the other clause, even when if comes second: I'll approve it if you add a test. Keep the -s for he, she and it too: If it breaks, we'll revert it, never If it break.
What's the difference between the zero and the first conditional?
The zero conditional states what always happens, with the present in both clauses: If the list is empty, the app shows a message. The first conditional looks at one real future situation, a promise or a warning, with will in the result: If you add a test, I'll approve it. So a rule of the system takes the zero conditional, while a plan for this pull request takes the first.
What is a pull request?
A pull request is a proposal to add your changes to a shared project, a way of saying Please add my change to your project. Teammates or maintainers review it before it's merged. A good one starts with a description (What, Why, How to test), and reviewers answer with comments such as question: or blocking:. People shorten it to PR: If the cache causes problems, we can revert this PR.
How do you respond to feedback on your code?
Thank the reviewer first, then say what you'll do: Good catch, thanks! I'll fix it and add a test for that case. Fair point. I'll rename it. To disagree, give a reason and offer an option: I see your point, but if we don't cache the list, the screen will stay slow. What if we cache it for one minute? Then report back: I've addressed every comment except the cache time.
What does it mean to address a comment?
To address a comment is to deal with what a reviewer asked for: fix it, answer it or explain why not. Authors use it to report progress: I've addressed every comment except the cache time. Nearby review words are revert, to undo a change; rebase, to move your changes on top of the latest main branch; and merge conflict, a clash when two changes edit the same lines.
How do I teach unless to B1 learners?
Let learners turn negative if-clauses into unless: If you don't add a test, I won't approve it becomes I won't approve it unless you add a test. Then show the trap unless … don't and ask what it really says. With professionals, finish with conditions from their own work, such as releases and deadlines. Your first pull request, a B1 lesson on edio.ai, has a gap-fill of eight such rewrites.
Are there interactive exercises for unless and the first conditional?
Yes: drop-down choices and chat replies show straight away whether the if-clause has the present simple or a stray will. Here, without an account, you can try four parts of Your first pull request, a B1 English for IT lesson on edio.ai: Iryna's pull request with Rui's review, their call about the cache, a drill that completes eight review comments (cache or will cache?), and a chat with Wes. The other exercises are locked.

Teach this lesson with your students

No credit card required