gitkraft_gui/features/commits/
commands.rs1use std::path::PathBuf;
8
9use iced::Task;
10
11use crate::message::Message;
12
13pub fn load_commit_file_list(path: PathBuf, oid: String) -> Task<Message> {
15 git_task!(
16 Message::CommitFileListLoaded,
17 (|| {
18 let repo = open_repo!(&path);
19 gitkraft_core::features::diff::get_commit_file_list(&repo, &oid)
20 .map_err(|e| e.to_string())
21 })()
22 )
23}
24
25pub fn load_single_file_diff(path: PathBuf, oid: String, file_path: String) -> Task<Message> {
27 git_task!(
28 Message::SingleFileDiffLoaded,
29 (|| {
30 let repo = open_repo!(&path);
31 gitkraft_core::features::diff::get_single_file_diff(&repo, &oid, &file_path)
32 .map_err(|e| e.to_string())
33 })()
34 )
35}
36
37pub fn create_commit(path: PathBuf, message: String) -> Task<Message> {
39 git_task!(
40 Message::CommitCreated,
41 (|| {
42 let repo = open_repo!(&path);
43 gitkraft_core::features::commits::create_commit(&repo, &message)
44 .map(|_| ())
45 .map_err(|e| e.to_string())
46 })()
47 )
48}