Skip to content

Easily iterate on Batch Changes

Created by: sourcegraph-bot

Problem

It is hard to build a new batch change from scratch. This is a pain that the team has been aware of for a long time (Thorsten had a talk about this during our offsite) and that we were able to verify while dog fooding on top of customer feedback.

There are several facets to this problem:

  1. Rerunning a batch change after I made a small modification in the spec is slow

  2. A batch change might not work for a specific repo(s), and needs a tweak. Today, this results in excluding the repo from the batch change or creating complex logic in the step to address it.

  3. Users need to build confidence that a batch change will work for 100s of repos through experimentation, but experimentation is slow (see 2) and painful (lots of CLI, UI context switches)

  4. It's hard to onboard on the spec language, and discover elements that help with the problems above (eg. using on.repository to run a batch change on a few repositories, check that it works, then switch to on.repositoriesMatchingQuery to actually apply it)

Motivation

We want to lower the barrier to adoption of Batch Changes, allowing more developers to benefit from it, and more developers within a given enterprise to use it. Building and debugging a batch change is the first thing new users do, and is currently too high friction.

Solution