blob: 76e8feba91626b652fe17b9c7e91c9521114a817 [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto3";
import "go.chromium.org/luci/buildbucket/proto/common.proto";
package recipe_modules.fuchsia.checkout;
message InputProperties {
// Gitiles commit to checkout. This will replace the gitiles_commit in
// `api.buildbucket.build.input`.
//
// This will be set in the case that the build input commit is tracking a
// different repo than the one we want to checkout (as in the fuchsia builds
// launched by the toolchain recipes).
buildbucket.v2.GitilesCommit gitiles_commit = 1;
// Whether to respect a Gitiles commit when set alongside a Gerrit change.
bool respect_gitiles_commit_with_gerrit_change = 2;
// Whether to cherry-pick patches.
//
// By default (when this property is false), applying a Git commit from a
// Gerrit CL to a checkout will be done using "git rebase". When this
// property is true, this will instead be done using "git cherry-pick".
//
// Enabling this flag is useful for applying a commit onto an older
// revision. Rebasing does not work for the use case of applying a commit
// based on a newer revision R2 to an older revision R1, because it would
// also apply all the commits from R1 to R2 and hence reset the checkout to
// be based on revision R2. See https://fxbug.dev/87199 for more context.
//
// Note that rebasing can apply a stack of patches, whereas cherry-picking
// will ignore any parent patches.
bool cherry_pick_patches = 3;
}