diff --git a/Cargo.lock b/Cargo.lock index c006b38..9530dc3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -453,7 +453,7 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] name = "gstack" -version = "0.0.2" +version = "0.0.3" dependencies = [ "anyhow", "clap", diff --git a/src/main.rs b/src/main.rs index 4c69235..90dc592 100644 --- a/src/main.rs +++ b/src/main.rs @@ -308,19 +308,37 @@ impl GsContext { let remote = self.repo.remote_repo_info()?; let pulls = self.github.pulls(remote.owner, remote.name); + let mut created_pulls = vec![]; for (i, branch) in branches.iter().enumerate() { let base = match i { 0 => &self.current_stack().unwrap().base_branch, _ => &branches[i - 1], }; - let title = format!("{} (#{}) - {}", stack.prefix.clone().unwrap(), i, branch.split('/').last().unwrap()); + let title = format!( + "{} (#{}) - {}", + stack.prefix.clone().unwrap(), + i, + branch.split('/').last().unwrap() + ); println!("base: {}, title: {}", base, title); - pulls + let pr = pulls .create(title, branch, base) .body("Created by [gstack](https://github.com/Bendzae/gstack)") .send() .await?; + println!("#{}: {}", pr.number, pr.html_url.clone().unwrap()); + created_pulls.push(pr); + } + + for pr in &created_pulls { + let mut body = "".to_string(); + created_pulls + .iter() + .for_each(|p| body = body.clone() + format!("#{} \n", p.number).as_str()); + body = body.clone() + "\nCreated by [gstack](https://github.com/Bendzae/gstack)"; + + pulls.update(pr.number).body(body).send().await?; } Ok(())