code: def lock(self, remote=None):
          '''
          Place an update.lk
          '''
          locked = []
          errors = []
          for repo in self.remotes:
              if remote:
                  # Specific remote URL/pattern was passed, ensure that the URL
                  # matches or else skip this one
                  try:
                      if not fnmatch.fnmatch(repo.url, remote):
                          continue
                  except TypeError:
                      # remote was non-string, try again
                      if not fnmatch.fnmatch(repo.url, six.text_type(remote)):
                          continue
              success, failed = repo.lock()
              locked.extend(success)
              errors.extend(failed)
          return locked, errorf lock(self, remote=None):
          '''
          Place an update.lk
          '''
          locked = []
          errors = []
          for repo in self.remotes:
              if remote:
                  # Specific remote URL/pattern was passed, ensure that the URL
                  # matches or else skip this one
                  try:
                      if not fnmatch.fnmatch(repo.url, remote):
                          continue
                  except TypeError:
                      # remote was non-string, try again
                      if not fnmatch.fnmatch(repo.url, six.text_type(remote)):
                          continue
              success, failed = repo.lock()
              locked.extend(success)
              errors.extend(failed)
          return locked, errors
docs: Place an update.lk