code: def lock(self):
          '''
          Place an lock file and report on the success/failure. This is an
          interface to be used by the fileserver runner, so it is hard-coded to
          perform an update lock. We aren't using the gen_lock()
          contextmanager here because the lock is meant to stay and not be
          automatically removed.
          '''
          success = []
          failed = []
          try:
              result = self._lock(lock_type='update')
          except GitLockError as exc:
              failed.append(exc.strerror)
          else:
              if result is not None:
                  success.append(result)
          return success, failef lock(self):
          '''
          Place an lock file and report on the success/failure. This is an
          interface to be used by the fileserver runner, so it is hard-coded to
          perform an update lock. We aren't using the gen_lock()
          contextmanager here because the lock is meant to stay and not be
          automatically removed.
          '''
          success = []
          failed = []
          try:
              result = self._lock(lock_type='update')
          except GitLockError as exc:
              failed.append(exc.strerror)
          else:
              if result is not None:
                  success.append(result)
          return success, failed
docs: Place an lock file and report on the success/failure. This is an
          interface to be used by the fileserver runner, so it is hard-coded to
          perform an update lock. We aren't using the gen_lock()
          contextmanager here because the lock is meant to stay and not be
          automatically removed.