Files
wehub-resource-sync 5357c39144
Fuzzer / Run Fuzzer (push) Has been cancelled
Race tests / Go race tests (ubuntu-22.04) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:01:40 +08:00

95 lines
3.3 KiB
Plaintext

// Copyright 2022 Dolthub, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
table WorkingSet {
// 20-byte hashes of root values.
working_root_addr:[ubyte] (required);
staged_root_addr:[ubyte];
// Meta
name:string (required);
email:string (required);
desc:string (required);
timestamp_millis:uint64;
merge_state:MergeState;
rebase_state:RebaseState;
}
table MergeState {
// An address for the working root value before the merge started.
pre_working_root_addr:[ubyte] (required);
// The commit that we are merging.
from_commit_addr:[ubyte] (required);
// The spec that was used to identify the commit that we are merging. Optional
// for backwards compatibility.
from_commit_spec_str:string;
unmergable_tables:[string];
is_cherry_pick:bool;
// is_revert is set to true when the in-progress merge is a revert operation.
// This distinguishes it from cherry-pick so that --continue and --abort can
// route to the correct operation.
is_revert:bool;
// The address of the HEAD commit at the time the merge/cherry-pick/revert started.
// Used by --abort to restore the branch HEAD pointer to its pre-operation state.
pre_merge_head_commit_addr:[ubyte];
// pending_commit_hashes holds the remaining commit hashes to be processed when a
// multi-commit operation (i.e. revert or cherry-pick) is interrupted by a conflict.
// After resolving the conflict and calling --continue, these commits are applied
// next, in order.
pending_commit_hashes:[string];
}
table RebaseState {
// The address of the working root value before the rebase started.
pre_working_root_addr:[ubyte] (required);
// The branch being rebased.
branch:[ubyte] (required);
// The commit that we are rebasing onto.
onto_commit_addr:[ubyte] (required);
// How to handle commits that start off empty
empty_commit_handling:uint8;
// How to handle commits that become empty during rebasing
commit_becomes_empty_handling:uint8;
// The last_attempted_step field indicates which step in the rebase plan was last executed. The step may have ended
// with a data conflict that the user has to manually resolve, or it may have been cherry-picked cleanly. This field
// is not valid unless the rebasing_started field is set to true.
last_attempted_step:float;
// The rebasing_started field indicates if execution of the rebase plan has been started or not. Once execution of the
// plan has been started, the last_attempted_step field holds a reference to the most recent plan step attempted.
rebasing_started:bool;
// When set to true, the rebase process will skip performing commit
// verification if it would otherwise run.
skip_verification:bool;
}
// KEEP THIS IN SYNC WITH fileidentifiers.go
file_identifier "WRST";
root_type WorkingSet;