Merge "Don't set job var override_checkout if null" into feature/zuulv3
diff --git a/doc/source/user/jobs.rst b/doc/source/user/jobs.rst
index 0639b8b..989338a 100644
--- a/doc/source/user/jobs.rst
+++ b/doc/source/user/jobs.rst
@@ -175,8 +175,8 @@
    .. var:: override_checkout
 
       If the job was configured to override the branch or tag checked
-      out, this will contain the specified value.  Otherwise, it will
-      be null.
+      out, this will contain the specified value.  Otherwise, this
+      variable will be undefined.
 
    .. var:: pipeline
 
diff --git a/zuul/executor/client.py b/zuul/executor/client.py
index 3263f5f..a8b94f0 100644
--- a/zuul/executor/client.py
+++ b/zuul/executor/client.py
@@ -143,8 +143,6 @@
             "with dependent changes %s" % (
                 job, uuid, nodeset, item.change, dependent_changes))
 
-        # TODOv3(jeblair): This ansible vars data structure will
-        # replace the environment variables below.
         project = dict(
             name=item.change.project.name,
             short_name=item.change.project.name.split('/')[-1],
@@ -163,8 +161,9 @@
                            tenant=tenant.name,
                            timeout=job.timeout,
                            jobtags=sorted(job.tags),
-                           override_checkout=job.override_checkout,
                            _inheritance_path=list(job.inheritance_path))
+        if job.override_checkout:
+            zuul_params['override_checkout'] = job.override_checkout
         if hasattr(item.change, 'branch'):
             zuul_params['branch'] = item.change.branch
         if hasattr(item.change, 'tag'):