just playing with tangled
1// Copyright 2020-2023 The Jujutsu Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// https://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15use jj_lib::git;
16
17use crate::cli_util::CommandHelper;
18use crate::command_error::CommandError;
19use crate::git_util::print_git_export_stats;
20use crate::ui::Ui;
21
22/// Update the underlying Git repo with changes made in the repo
23#[derive(clap::Args, Clone, Debug)]
24pub struct GitExportArgs {}
25
26pub fn cmd_git_export(
27 ui: &mut Ui,
28 command: &CommandHelper,
29 _args: &GitExportArgs,
30) -> Result<(), CommandError> {
31 let mut workspace_command = command.workspace_helper(ui)?;
32 let mut tx = workspace_command.start_transaction();
33 let stats = git::export_refs(tx.repo_mut())?;
34 tx.finish(ui, "export git refs")?;
35 print_git_export_stats(ui, &stats)?;
36 Ok(())
37}