mirror of
https://github.com/martinvonz/jj.git
synced 2025-02-06 11:34:54 +00:00
da5db27bb0
It was convenient that what the git backend stored in its "extras" table is exactly a subset of the fields that local backend stores, but it's bit ugly and limiting. For example, it makes it possible to populate the `author` field in the git extras, but that would have no effect. It's better that it's not possible to do that (we store the author field in the git commit, of course). What made me notice this now was that I'm working on tree-level conflicts (#1624) and I'm thinking of adding a field to the git extras saying "this commit has single tree, but it's still a new-style commit", so we can know not to walking such trees to find path-level conflicts. That's only needed for the git backend because we don't care about compatibility for the local backend.
39 lines
1.2 KiB
Rust
39 lines
1.2 KiB
Rust
// Copyright 2022 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.
|
|
|
|
use std::io::Result;
|
|
use std::path::Path;
|
|
|
|
fn main() -> Result<()> {
|
|
let input = [
|
|
"git_store.proto",
|
|
"local_store.proto",
|
|
"op_store.proto",
|
|
"working_copy.proto",
|
|
];
|
|
|
|
let root = Path::new(env!("CARGO_MANIFEST_DIR")).parent().unwrap();
|
|
let protos_dir = root.join("src").join("protos");
|
|
|
|
prost_build::Config::new()
|
|
.out_dir(&protos_dir)
|
|
.include_file("mod.rs")
|
|
.compile_protos(
|
|
&input
|
|
.into_iter()
|
|
.map(|x| protos_dir.join(x))
|
|
.collect::<Vec<_>>(),
|
|
&[protos_dir],
|
|
)
|
|
}
|