From ef3ece552dc04414ee6c69b7ad41186106bbfe58 Mon Sep 17 00:00:00 2001 From: extrawurst <776816+extrawurst@users.noreply.github.com> Date: Sat, 27 Aug 2022 17:55:06 +0200 Subject: [PATCH] PoC list submodules (#1090) --- CHANGELOG.md | 7 + Makefile | 2 +- assets/submodules.png | Bin 0 -> 155784 bytes asyncgit/src/sync/commits_info.rs | 6 + asyncgit/src/sync/mod.rs | 4 + asyncgit/src/sync/submodules.rs | 84 +++++++ src/app.rs | 14 +- src/components/branchlist.rs | 2 +- src/components/mod.rs | 2 + src/components/submodules.rs | 402 ++++++++++++++++++++++++++++++ src/keys/key_list.rs | 3 + src/keys/key_list_file.rs | 2 + src/queue.rs | 2 + src/strings.rs | 15 ++ src/tabs/status.rs | 12 + 15 files changed, 554 insertions(+), 3 deletions(-) create mode 100644 assets/submodules.png create mode 100644 asyncgit/src/sync/submodules.rs create mode 100644 src/components/submodules.rs diff --git a/CHANGELOG.md b/CHANGELOG.md index f96c35f0..7ec662cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased +**submodules view** + +![submodules](assets/submodules.png) + +### Added +* submodules support ([#1087](https://github.com/extrawurst/gitui/issues/1087)) + ## [0.21.0] - 2021-08-17 **popup stacking** diff --git a/Makefile b/Makefile index b097d503..7e373099 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ .PHONY: debug build-release release-linux-musl test clippy clippy-pedantic install install-debug ARGS=-l -# ARGS=-l -d ~/code/git-bare-test.git +# ARGS=-l -d ~/code/extern/pbrt-v4 # ARGS=-l -d ~/code/git-bare-test.git -w ~/code/git-bare-test profile: diff --git a/assets/submodules.png b/assets/submodules.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4c559b63bd76fbc06b178ffeb5cc06a0b861c4 GIT binary patch literal 155784 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

GRFc3gKFPw$+O)ZOP}sPeC+k7jxz3}&`Q0x| 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 Self { + Self(Oid::zero()) + } +} + impl CommitId { /// create new `CommitId` pub const fn new(id: Oid) -> Self { diff --git a/asyncgit/src/sync/mod.rs b/asyncgit/src/sync/mod.rs index 3a331b74..53778a8e 100644 --- a/asyncgit/src/sync/mod.rs +++ b/asyncgit/src/sync/mod.rs @@ -27,6 +27,7 @@ mod staging; mod stash; mod state; pub mod status; +mod submodules; mod tags; mod tree; pub mod utils; @@ -80,6 +81,9 @@ pub use stash::{ }; pub use state::{repo_state, RepoState}; pub use status::is_workdir_clean; +pub use submodules::{ + get_submodules, update_submodule, SubmoduleInfo, SubmoduleStatus, +}; pub use tags::{ delete_tag, get_tags, get_tags_with_metadata, CommitTags, Tag, TagWithMetadata, Tags, diff --git a/asyncgit/src/sync/submodules.rs b/asyncgit/src/sync/submodules.rs new file mode 100644 index 00000000..f81f9573 --- /dev/null +++ b/asyncgit/src/sync/submodules.rs @@ -0,0 +1,84 @@ +use std::path::PathBuf; + +use git2::SubmoduleUpdateOptions; +use scopetime::scope_time; + +use super::{repo, CommitId, RepoPath}; +use crate::{error::Result, Error}; + +pub use git2::SubmoduleStatus; + +/// +pub struct SubmoduleInfo { + /// + pub path: PathBuf, + /// + pub url: Option, + /// + pub id: Option, + /// + pub head_id: Option, + /// + pub status: SubmoduleStatus, +} + +impl SubmoduleInfo { + /// + pub fn get_repo_path( + &self, + repo_path: &RepoPath, + ) -> Result { + let repo = repo(repo_path)?; + let wd = repo.workdir().ok_or(Error::NoWorkDir)?; + + Ok(RepoPath::Path(wd.join(self.path.clone()))) + } +} + +/// +pub fn get_submodules( + repo_path: &RepoPath, +) -> Result> { + scope_time!("get_submodules"); + + let (r, repo2) = (repo(repo_path)?, repo(repo_path)?); + + let res = r + .submodules()? + .iter() + .map(|s| { + let status = repo2 + .submodule_status( + s.name().unwrap_or_default(), + git2::SubmoduleIgnore::None, + ) + .unwrap_or(SubmoduleStatus::empty()); + + SubmoduleInfo { + path: s.path().to_path_buf(), + id: s.workdir_id().map(CommitId::from), + head_id: s.head_id().map(CommitId::from), + url: s.url().map(String::from), + status, + } + }) + .collect(); + + Ok(res) +} + +/// +pub fn update_submodule( + repo_path: &RepoPath, + path: &str, +) -> Result<()> { + let repo = repo(repo_path)?; + + let mut submodule = repo.find_submodule(path)?; + + let mut options = SubmoduleUpdateOptions::new(); + + submodule.update(true, Some(&mut options))?; + + Ok(()) +} diff --git a/src/app.rs b/src/app.rs index c00c8351..c24b04b0 100644 --- a/src/app.rs +++ b/src/app.rs @@ -11,7 +11,8 @@ use crate::{ MsgComponent, OptionsPopupComponent, PullComponent, PushComponent, PushTagsComponent, RenameBranchComponent, RevisionFilesPopup, SharedOptions, StashMsgComponent, - TagCommitComponent, TagListComponent, + SubmodulesListComponent, TagCommitComponent, + TagListComponent, }, input::{Input, InputEvent, InputState}, keys::{key_match, KeyConfig, SharedKeyConfig}, @@ -70,6 +71,7 @@ pub struct App { rename_branch_popup: RenameBranchComponent, select_branch_popup: BranchListComponent, options_popup: OptionsPopupComponent, + submodule_popup: SubmodulesListComponent, tags_popup: TagListComponent, cmdbar: RefCell, tab: usize, @@ -231,6 +233,11 @@ impl App { key_config.clone(), options.clone(), ), + submodule_popup: SubmodulesListComponent::new( + repo.clone(), + theme.clone(), + key_config.clone(), + ), find_file_popup: FileFindPopup::new( &queue, theme.clone(), @@ -543,6 +550,7 @@ impl App { rename_branch_popup, select_branch_popup, revision_files_popup, + submodule_popup, tags_popup, options_popup, help, @@ -567,6 +575,7 @@ impl App { external_editor_popup, tag_commit_popup, select_branch_popup, + submodule_popup, tags_popup, create_branch_popup, rename_branch_popup, @@ -775,6 +784,9 @@ impl App { InternalEvent::SelectBranch => { self.select_branch_popup.open()?; } + InternalEvent::ViewSubmodules => { + self.submodule_popup.open()?; + } InternalEvent::Tags => { self.tags_popup.open()?; } diff --git a/src/components/branchlist.rs b/src/components/branchlist.rs index b5336ebf..a23933d1 100644 --- a/src/components/branchlist.rs +++ b/src/components/branchlist.rs @@ -541,9 +541,9 @@ impl BranchListComponent { const HEAD_SYMBOL: char = '*'; const EMPTY_SYMBOL: char = ' '; const THREE_DOTS: &str = "..."; + const THREE_DOTS_LENGTH: usize = THREE_DOTS.len(); // "..." const COMMIT_HASH_LENGTH: usize = 8; const IS_HEAD_STAR_LENGTH: usize = 3; // "* " - const THREE_DOTS_LENGTH: usize = THREE_DOTS.len(); // "..." let branch_name_length: usize = width_available as usize * 40 / 100; diff --git a/src/components/mod.rs b/src/components/mod.rs index b2f1f2b3..9628684d 100644 --- a/src/components/mod.rs +++ b/src/components/mod.rs @@ -26,6 +26,7 @@ mod revision_files; mod revision_files_popup; mod stashmsg; mod status_tree; +mod submodules; mod syntax_text; mod tag_commit; mod taglist; @@ -61,6 +62,7 @@ pub use reset::ConfirmComponent; pub use revision_files::RevisionFilesComponent; pub use revision_files_popup::{FileTreeOpen, RevisionFilesPopup}; pub use stashmsg::StashMsgComponent; +pub use submodules::SubmodulesListComponent; pub use syntax_text::SyntaxTextComponent; pub use tag_commit::TagCommitComponent; pub use taglist::TagListComponent; diff --git a/src/components/submodules.rs b/src/components/submodules.rs new file mode 100644 index 00000000..017028da --- /dev/null +++ b/src/components/submodules.rs @@ -0,0 +1,402 @@ +use super::{ + utils::scroll_vertical::VerticalScroll, visibility_blocking, + CommandBlocking, CommandInfo, Component, DrawableComponent, + EventState, ScrollType, +}; +use crate::{ + keys::{key_match, SharedKeyConfig}, + strings, + ui::{self, Size}, +}; +use anyhow::Result; +use asyncgit::sync::{get_submodules, RepoPathRef, SubmoduleInfo}; +use crossterm::event::Event; +use std::{cell::Cell, convert::TryInto}; +use tui::{ + backend::Backend, + layout::{ + Alignment, Constraint, Direction, Layout, Margin, Rect, + }, + text::{Span, Spans, Text}, + widgets::{Block, BorderType, Borders, Clear, Paragraph}, + Frame, +}; +use ui::style::SharedTheme; +use unicode_truncate::UnicodeTruncateStr; + +/// +pub struct SubmodulesListComponent { + repo: RepoPathRef, + submodules: Vec, + visible: bool, + current_height: Cell, + selection: u16, + scroll: VerticalScroll, + theme: SharedTheme, + key_config: SharedKeyConfig, +} + +impl DrawableComponent for SubmodulesListComponent { + fn draw( + &self, + f: &mut Frame, + rect: Rect, + ) -> Result<()> { + if self.is_visible() { + const PERCENT_SIZE: Size = Size::new(80, 80); + const MIN_SIZE: Size = Size::new(60, 30); + + let area = ui::centered_rect( + PERCENT_SIZE.width, + PERCENT_SIZE.height, + rect, + ); + let area = ui::rect_inside(MIN_SIZE, rect.into(), area); + let area = area.intersection(rect); + + f.render_widget(Clear, area); + + f.render_widget( + Block::default() + .title(strings::POPUP_TITLE_SUBMODULES) + .border_type(BorderType::Thick) + .borders(Borders::ALL), + area, + ); + + let area = area.inner(&Margin { + vertical: 1, + horizontal: 1, + }); + + let chunks = Layout::default() + .direction(Direction::Horizontal) + .constraints( + [Constraint::Min(40), Constraint::Length(40)] + .as_ref(), + ) + .split(area); + + self.draw_list(f, chunks[0])?; + self.draw_info(f, chunks[1]); + } + + Ok(()) + } +} + +impl Component for SubmodulesListComponent { + fn commands( + &self, + out: &mut Vec, + force_all: bool, + ) -> CommandBlocking { + if self.visible || force_all { + if !force_all { + out.clear(); + } + + out.push(CommandInfo::new( + strings::commands::scroll(&self.key_config), + true, + true, + )); + + out.push(CommandInfo::new( + strings::commands::close_popup(&self.key_config), + true, + true, + )); + } + visibility_blocking(self) + } + + fn event(&mut self, ev: &Event) -> Result { + if !self.visible { + return Ok(EventState::NotConsumed); + } + + if let Event::Key(e) = ev { + if key_match(e, self.key_config.keys.exit_popup) { + self.hide(); + } else if key_match(e, self.key_config.keys.move_down) { + return self + .move_selection(ScrollType::Up) + .map(Into::into); + } else if key_match(e, self.key_config.keys.move_up) { + return self + .move_selection(ScrollType::Down) + .map(Into::into); + } else if key_match(e, self.key_config.keys.page_down) { + return self + .move_selection(ScrollType::PageDown) + .map(Into::into); + } else if key_match(e, self.key_config.keys.page_up) { + return self + .move_selection(ScrollType::PageUp) + .map(Into::into); + } else if key_match(e, self.key_config.keys.home) { + return self + .move_selection(ScrollType::Home) + .map(Into::into); + } else if key_match(e, self.key_config.keys.end) { + return self + .move_selection(ScrollType::End) + .map(Into::into); + } else if key_match( + e, + self.key_config.keys.cmd_bar_toggle, + ) { + //do not consume if its the more key + return Ok(EventState::NotConsumed); + } + } + + Ok(EventState::Consumed) + } + + fn is_visible(&self) -> bool { + self.visible + } + + fn hide(&mut self) { + self.visible = false; + } + + fn show(&mut self) -> Result<()> { + self.visible = true; + + Ok(()) + } +} + +impl SubmodulesListComponent { + pub fn new( + repo: RepoPathRef, + theme: SharedTheme, + key_config: SharedKeyConfig, + ) -> Self { + Self { + submodules: Vec::new(), + scroll: VerticalScroll::new(), + selection: 0, + visible: false, + theme, + key_config, + current_height: Cell::new(0), + repo, + } + } + + /// + pub fn open(&mut self) -> Result<()> { + self.show()?; + self.update_submodules()?; + + Ok(()) + } + + /// + pub fn update_submodules(&mut self) -> Result<()> { + if self.is_visible() { + self.submodules = get_submodules(&self.repo.borrow())?; + + self.set_selection(self.selection)?; + } + Ok(()) + } + + fn selected_entry(&self) -> Option<&SubmoduleInfo> { + self.submodules.get(self.selection as usize) + } + + //TODO: dedup this almost identical with BranchListComponent + fn move_selection(&mut self, scroll: ScrollType) -> Result { + let new_selection = match scroll { + ScrollType::Up => self.selection.saturating_add(1), + ScrollType::Down => self.selection.saturating_sub(1), + ScrollType::PageDown => self + .selection + .saturating_add(self.current_height.get()), + ScrollType::PageUp => self + .selection + .saturating_sub(self.current_height.get()), + ScrollType::Home => 0, + ScrollType::End => { + let count: u16 = self.submodules.len().try_into()?; + count.saturating_sub(1) + } + }; + + self.set_selection(new_selection)?; + + Ok(true) + } + + fn set_selection(&mut self, selection: u16) -> Result<()> { + let num_branches: u16 = self.submodules.len().try_into()?; + let num_branches = num_branches.saturating_sub(1); + + let selection = if selection > num_branches { + num_branches + } else { + selection + }; + + self.selection = selection; + + Ok(()) + } + + fn get_text( + &self, + theme: &SharedTheme, + width_available: u16, + height: usize, + ) -> Text { + const THREE_DOTS: &str = "..."; + const THREE_DOTS_LENGTH: usize = THREE_DOTS.len(); // "..." + const COMMIT_HASH_LENGTH: usize = 8; + + let mut txt = Vec::with_capacity(3); + + let name_length: usize = (width_available as usize) + .saturating_sub(COMMIT_HASH_LENGTH) + .saturating_sub(THREE_DOTS_LENGTH); + + for (i, submodule) in self + .submodules + .iter() + .skip(self.scroll.get_top()) + .take(height) + .enumerate() + { + let mut module_path = submodule + .path + .as_os_str() + .to_string_lossy() + .to_string(); + + if module_path.len() > name_length { + module_path.unicode_truncate( + name_length.saturating_sub(THREE_DOTS_LENGTH), + ); + module_path += THREE_DOTS; + } + + let selected = (self.selection as usize + - self.scroll.get_top()) + == i; + + let span_hash = Span::styled( + format!( + "{} ", + submodule + .head_id + .unwrap_or_default() + .get_short_string() + ), + theme.commit_hash(selected), + ); + + let span_name = Span::styled( + format!("{:w$} ", module_path, w = name_length), + theme.text(true, selected), + ); + + txt.push(Spans::from(vec![span_name, span_hash])); + } + + Text::from(txt) + } + + fn get_info_text(&self, theme: &SharedTheme) -> Text { + self.selected_entry().map_or_else( + Text::default, + |submodule| { + let span_title_path = + Span::styled("Path:", theme.text(false, false)); + let span_path = Span::styled( + submodule.path.to_string_lossy(), + theme.text(true, false), + ); + + let span_title_commit = + Span::styled("Commit:", theme.text(false, false)); + let span_commit = Span::styled( + submodule.id.unwrap_or_default().to_string(), + theme.commit_hash(false), + ); + + let span_title_url = + Span::styled("Url:", theme.text(false, false)); + let span_url = Span::styled( + submodule.url.clone().unwrap_or_default(), + theme.text(true, false), + ); + + let span_title_status = + Span::styled("Status:", theme.text(false, false)); + let span_status = Span::styled( + format!("{:?}", submodule.status), + theme.text(true, false), + ); + + Text::from(vec![ + Spans::from(vec![span_title_path]), + Spans::from(vec![span_path]), + Spans::from(vec![]), + Spans::from(vec![span_title_commit]), + Spans::from(vec![span_commit]), + Spans::from(vec![]), + Spans::from(vec![span_title_url]), + Spans::from(vec![span_url]), + Spans::from(vec![]), + Spans::from(vec![span_title_status]), + Spans::from(vec![span_status]), + ]) + }, + ) + } + + fn draw_list( + &self, + f: &mut Frame, + r: Rect, + ) -> Result<()> { + let height_in_lines = r.height as usize; + self.current_height.set(height_in_lines.try_into()?); + + self.scroll.update( + self.selection as usize, + self.submodules.len(), + height_in_lines, + ); + + f.render_widget( + Paragraph::new(self.get_text( + &self.theme, + r.width, + height_in_lines, + )) + .alignment(Alignment::Left), + r, + ); + + let mut r = r; + r.height += 2; + r.y = r.y.saturating_sub(1); + + self.scroll.draw(f, r, &self.theme); + + Ok(()) + } + + fn draw_info(&self, f: &mut Frame, r: Rect) { + f.render_widget( + Paragraph::new(self.get_info_text(&self.theme)) + .alignment(Alignment::Left), + r, + ); + } +} diff --git a/src/keys/key_list.rs b/src/keys/key_list.rs index 0af9cf7c..cc0f8282 100644 --- a/src/keys/key_list.rs +++ b/src/keys/key_list.rs @@ -107,6 +107,7 @@ pub struct KeysList { pub undo_commit: GituiKeyEvent, pub stage_unstage_item: GituiKeyEvent, pub tag_annotate: GituiKeyEvent, + pub view_submodules: GituiKeyEvent, } #[rustfmt::skip] @@ -185,6 +186,8 @@ impl Default for KeysList { file_find: GituiKeyEvent::new(KeyCode::Char('f'), KeyModifiers::empty()), stage_unstage_item: GituiKeyEvent::new(KeyCode::Enter, KeyModifiers::empty()), tag_annotate: GituiKeyEvent::new(KeyCode::Char('a'), KeyModifiers::CONTROL), + view_submodules: GituiKeyEvent::new(KeyCode::Char('S'), KeyModifiers::SHIFT), + } } } diff --git a/src/keys/key_list_file.rs b/src/keys/key_list_file.rs index 7b2a3bbb..0213f7ad 100644 --- a/src/keys/key_list_file.rs +++ b/src/keys/key_list_file.rs @@ -79,6 +79,7 @@ pub struct KeysListFile { pub undo_commit: Option, pub stage_unstage_item: Option, pub tag_annotate: Option, + pub view_submodules: Option, } impl KeysListFile { @@ -166,6 +167,7 @@ impl KeysListFile { undo_commit: self.undo_commit.unwrap_or(default.undo_commit), stage_unstage_item: self.stage_unstage_item.unwrap_or(default.stage_unstage_item), tag_annotate: self.tag_annotate.unwrap_or(default.tag_annotate), + view_submodules: self.view_submodules.unwrap_or(default.view_submodules), } } } diff --git a/src/queue.rs b/src/queue.rs index 3c404de8..13952d5c 100644 --- a/src/queue.rs +++ b/src/queue.rs @@ -122,6 +122,8 @@ pub enum InternalEvent { PopupStackPop, /// PopupStackPush(StackablePopupOpen), + /// + ViewSubmodules, } /// single threaded simple queue for components to communicate with each other diff --git a/src/strings.rs b/src/strings.rs index 7d9d59a6..9d92a655 100644 --- a/src/strings.rs +++ b/src/strings.rs @@ -23,6 +23,8 @@ pub static PUSH_TAGS_STATES_FETCHING: &str = "fetching"; pub static PUSH_TAGS_STATES_PUSHING: &str = "pushing"; pub static PUSH_TAGS_STATES_DONE: &str = "done"; +pub static POPUP_TITLE_SUBMODULES: &str = "Submodules"; + pub mod symbol { pub const WHITESPACE: &str = "\u{00B7}"; //· pub const CHECKMARK: &str = "\u{2713}"; //✓ @@ -700,6 +702,19 @@ pub mod commands { ) } + pub fn view_submodules( + key_config: &SharedKeyConfig, + ) -> CommandText { + CommandText::new( + format!( + "Submodules [{}]", + key_config.get_hint(key_config.keys.view_submodules), + ), + "open submodule view", + CMD_GROUP_GENERAL, + ) + } + pub fn continue_rebase( key_config: &SharedKeyConfig, ) -> CommandText { diff --git a/src/tabs/status.rs b/src/tabs/status.rs index 00cea28d..622912c4 100644 --- a/src/tabs/status.rs +++ b/src/tabs/status.rs @@ -781,6 +781,12 @@ impl Component for Status { true, self.pending_revert() || force_all, )); + + out.push(CommandInfo::new( + strings::commands::view_submodules(&self.key_config), + true, + true, + )); } { @@ -936,6 +942,12 @@ impl Component for Status { NeedsUpdate::ALL, )); Ok(EventState::Consumed) + } else if key_match( + k, + self.key_config.keys.view_submodules, + ) { + self.queue.push(InternalEvent::ViewSubmodules); + Ok(EventState::Consumed) } else { Ok(EventState::NotConsumed) };