mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-05 19:14:43 +00:00
a66e2a0a6d
By marking it reserved, we prevent accidental use. We can still read working copy protos that have the field.
70 lines
1.9 KiB
Protocol Buffer
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;
|
|
}
|