diff options
Diffstat (limited to 'src/bin/ngit/sub_commands/pull.rs')
| -rw-r--r-- | src/bin/ngit/sub_commands/pull.rs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/bin/ngit/sub_commands/pull.rs b/src/bin/ngit/sub_commands/pull.rs index 77a65e9..f459c8e 100644 --- a/src/bin/ngit/sub_commands/pull.rs +++ b/src/bin/ngit/sub_commands/pull.rs | |||
| @@ -14,7 +14,7 @@ use crate::{ | |||
| 14 | 14 | ||
| 15 | #[allow(clippy::too_many_lines)] | 15 | #[allow(clippy::too_many_lines)] |
| 16 | pub async fn launch() -> Result<()> { | 16 | pub async fn launch() -> Result<()> { |
| 17 | let git_repo = Repo::discover().context("cannot find a git repository")?; | 17 | let git_repo = Repo::discover().context("failed to find a git repository")?; |
| 18 | let git_repo_path = git_repo.get_path()?; | 18 | let git_repo_path = git_repo.get_path()?; |
| 19 | 19 | ||
| 20 | let (main_or_master_branch_name, _) = git_repo | 20 | let (main_or_master_branch_name, _) = git_repo |
| @@ -23,7 +23,7 @@ pub async fn launch() -> Result<()> { | |||
| 23 | 23 | ||
| 24 | let branch_name = git_repo | 24 | let branch_name = git_repo |
| 25 | .get_checked_out_branch_name() | 25 | .get_checked_out_branch_name() |
| 26 | .context("cannot get checked out branch name")?; | 26 | .context("failed to get checked out branch name")?; |
| 27 | 27 | ||
| 28 | if branch_name == main_or_master_branch_name { | 28 | if branch_name == main_or_master_branch_name { |
| 29 | bail!("checkout a branch associated with a proposal first") | 29 | bail!("checkout a branch associated with a proposal first") |
| @@ -50,7 +50,7 @@ pub async fn launch() -> Result<()> { | |||
| 50 | is_event_proposal_root_for_branch(e, &branch_name, &logged_in_public_key) | 50 | is_event_proposal_root_for_branch(e, &branch_name, &logged_in_public_key) |
| 51 | .unwrap_or(false) | 51 | .unwrap_or(false) |
| 52 | }) | 52 | }) |
| 53 | .context("cannot find proposal that matches the current branch name")? | 53 | .context("failed to find proposal that matches the current branch name")? |
| 54 | .clone(); | 54 | .clone(); |
| 55 | 55 | ||
| 56 | let commit_events = | 56 | let commit_events = |
| @@ -59,7 +59,7 @@ pub async fn launch() -> Result<()> { | |||
| 59 | 59 | ||
| 60 | let most_recent_proposal_patch_chain = | 60 | let most_recent_proposal_patch_chain = |
| 61 | get_most_recent_patch_with_ancestors(commit_events.clone()) | 61 | get_most_recent_patch_with_ancestors(commit_events.clone()) |
| 62 | .context("cannot get most recent patch for proposal")?; | 62 | .context("failed to get most recent patch for proposal")?; |
| 63 | 63 | ||
| 64 | let local_branch_tip = git_repo.get_tip_of_branch(&branch_name)?; | 64 | let local_branch_tip = git_repo.get_tip_of_branch(&branch_name)?; |
| 65 | 65 | ||
| @@ -74,7 +74,7 @@ pub async fn launch() -> Result<()> { | |||
| 74 | .context("there should be at least one patch as we have already checked for this")?, | 74 | .context("there should be at least one patch as we have already checked for this")?, |
| 75 | "parent-commit", | 75 | "parent-commit", |
| 76 | )?) | 76 | )?) |
| 77 | .context("cannot get valid parent commit id from patch")?; | 77 | .context("failed to get valid parent commit id from patch")?; |
| 78 | 78 | ||
| 79 | let (_, proposal_behind_main) = | 79 | let (_, proposal_behind_main) = |
| 80 | git_repo.get_commits_ahead_behind(&master_tip, &proposal_base_commit)?; | 80 | git_repo.get_commits_ahead_behind(&master_tip, &proposal_base_commit)?; |
| @@ -84,9 +84,9 @@ pub async fn launch() -> Result<()> { | |||
| 84 | &get_commit_id_from_patch(most_recent_proposal_patch_chain.first().context( | 84 | &get_commit_id_from_patch(most_recent_proposal_patch_chain.first().context( |
| 85 | "there should be at least one patch as we have already checked for this", | 85 | "there should be at least one patch as we have already checked for this", |
| 86 | )?) | 86 | )?) |
| 87 | .context("cannot get valid commit_id from patch")?, | 87 | .context("failed to get valid commit_id from patch")?, |
| 88 | ) | 88 | ) |
| 89 | .context("cannot get valid commit_id from patch")?; | 89 | .context("failed to get valid commit_id from patch")?; |
| 90 | 90 | ||
| 91 | // if uptodate | 91 | // if uptodate |
| 92 | if proposal_tip.eq(&local_branch_tip) { | 92 | if proposal_tip.eq(&local_branch_tip) { |
| @@ -101,7 +101,7 @@ pub async fn launch() -> Result<()> { | |||
| 101 | check_clean(&git_repo)?; | 101 | check_clean(&git_repo)?; |
| 102 | let applied = git_repo | 102 | let applied = git_repo |
| 103 | .apply_patch_chain(&branch_name, most_recent_proposal_patch_chain) | 103 | .apply_patch_chain(&branch_name, most_recent_proposal_patch_chain) |
| 104 | .context("cannot apply patch chain")?; | 104 | .context("failed to apply patch chain")?; |
| 105 | println!("applied {} new commits", applied.len(),); | 105 | println!("applied {} new commits", applied.len(),); |
| 106 | } | 106 | } |
| 107 | // if parent commit doesnt exist | 107 | // if parent commit doesnt exist |
| @@ -123,7 +123,7 @@ pub async fn launch() -> Result<()> { | |||
| 123 | git_repo.create_branch_at_commit(&branch_name, &proposal_base_commit.to_string())?; | 123 | git_repo.create_branch_at_commit(&branch_name, &proposal_base_commit.to_string())?; |
| 124 | let applied = git_repo | 124 | let applied = git_repo |
| 125 | .apply_patch_chain(&branch_name, most_recent_proposal_patch_chain) | 125 | .apply_patch_chain(&branch_name, most_recent_proposal_patch_chain) |
| 126 | .context("cannot apply patch chain")?; | 126 | .context("failed to apply patch chain")?; |
| 127 | 127 | ||
| 128 | println!( | 128 | println!( |
| 129 | "pulled new version of proposal ({} ahead {} behind '{main_branch_name}'), replacing old version ({} ahead {} behind '{main_branch_name}')", | 129 | "pulled new version of proposal ({} ahead {} behind '{main_branch_name}'), replacing old version ({} ahead {} behind '{main_branch_name}')", |
| @@ -138,7 +138,7 @@ pub async fn launch() -> Result<()> { | |||
| 138 | else if git_repo.ancestor_of(&local_branch_tip, &proposal_tip)? { | 138 | else if git_repo.ancestor_of(&local_branch_tip, &proposal_tip)? { |
| 139 | let (local_ahead_of_proposal, _) = git_repo | 139 | let (local_ahead_of_proposal, _) = git_repo |
| 140 | .get_commits_ahead_behind(&proposal_tip, &local_branch_tip) | 140 | .get_commits_ahead_behind(&proposal_tip, &local_branch_tip) |
| 141 | .context("cannot get commits ahead behind for propsal_top and local_branch_tip")?; | 141 | .context("failed to get commits ahead behind for propsal_top and local_branch_tip")?; |
| 142 | println!( | 142 | println!( |
| 143 | "local proposal branch exists with {} unpublished commits on top of the most up-to-date version of the proposal", | 143 | "local proposal branch exists with {} unpublished commits on top of the most up-to-date version of the proposal", |
| 144 | local_ahead_of_proposal.len() | 144 | local_ahead_of_proposal.len() |
| @@ -196,7 +196,7 @@ pub async fn launch() -> Result<()> { | |||
| 196 | fn check_clean(git_repo: &Repo) -> Result<()> { | 196 | fn check_clean(git_repo: &Repo) -> Result<()> { |
| 197 | if git_repo.has_outstanding_changes()? { | 197 | if git_repo.has_outstanding_changes()? { |
| 198 | bail!( | 198 | bail!( |
| 199 | "cannot pull proposal branch when repository is not clean. discard or stash (un)staged changes and try again." | 199 | "failed to pull proposal branch when repository is not clean. discard or stash (un)staged changes and try again." |
| 200 | ); | 200 | ); |
| 201 | } | 201 | } |
| 202 | Ok(()) | 202 | Ok(()) |