jj/lib/src/protos/working_copy.proto
Martin von Zweigbergk a66e2a0a6d working_copy: mark commit_id field in proto reserved
By marking it reserved, we prevent accidental use. We can still read
working copy protos that have the field.
2024-01-12 17:38:23 -08:00

70 lines
1.9 KiB
Protocol Buffer

// Copyright 2020 The Jujutsu Authors
//
// 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
//
// https://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.
syntax = "proto3";
package working_copy;
enum FileType {
Normal = 0;
Symlink = 1;
Executable = 2;
Conflict = 3 [deprecated = true];
GitSubmodule = 4;
}
message FileState {
int64 mtime_millis_since_epoch = 1;
uint64 size = 2;
FileType file_type = 3;
// Set only if file_type is Conflict
bytes conflict_id = 4 [deprecated = true];
}
message FileStateEntry {
string path = 1;
FileState state = 2;
}
message SparsePatterns {
repeated string prefixes = 1;
}
message TreeState {
bytes legacy_tree_id = 1;
// Alternating positive and negative terms if there's a conflict, otherwise a
// single (positive) value
repeated bytes tree_ids = 5;
repeated FileStateEntry file_states = 2;
SparsePatterns sparse_patterns = 3;
WatchmanClock watchman_clock = 4;
}
message WatchmanClock {
oneof watchman_clock {
string string_clock = 1;
int64 unix_timestamp = 2;
}
}
message Checkout {
// The operation at which the working copy was updated.
bytes operation_id = 2;
// An identifier for this workspace. It is used for looking up the current
// working-copy commit in the repo view. Currently a human-readable name.
// TODO: Is it better to make this a UUID and a have map that to a name in
// config? That way users can rename a workspace.
string workspace_id = 3;
reserved 1;
}