summaryrefslogtreecommitdiffstats
path: root/extra/git2/src/cherrypick.rs
diff options
context:
space:
mode:
Diffstat (limited to 'extra/git2/src/cherrypick.rs')
-rw-r--r--extra/git2/src/cherrypick.rs72
1 files changed, 0 insertions, 72 deletions
diff --git a/extra/git2/src/cherrypick.rs b/extra/git2/src/cherrypick.rs
deleted file mode 100644
index 659b73089..000000000
--- a/extra/git2/src/cherrypick.rs
+++ /dev/null
@@ -1,72 +0,0 @@
-use std::mem;
-
-use crate::build::CheckoutBuilder;
-use crate::merge::MergeOptions;
-use crate::raw;
-use std::ptr;
-
-/// Options to specify when cherry picking
-pub struct CherrypickOptions<'cb> {
- mainline: u32,
- checkout_builder: Option<CheckoutBuilder<'cb>>,
- merge_opts: Option<MergeOptions>,
-}
-
-impl<'cb> CherrypickOptions<'cb> {
- /// Creates a default set of cherrypick options
- pub fn new() -> CherrypickOptions<'cb> {
- CherrypickOptions {
- mainline: 0,
- checkout_builder: None,
- merge_opts: None,
- }
- }
-
- /// Set the mainline value
- ///
- /// For merge commits, the "mainline" is treated as the parent.
- pub fn mainline(&mut self, mainline: u32) -> &mut Self {
- self.mainline = mainline;
- self
- }
-
- /// Set the checkout builder
- pub fn checkout_builder(&mut self, cb: CheckoutBuilder<'cb>) -> &mut Self {
- self.checkout_builder = Some(cb);
- self
- }
-
- /// Set the merge options
- pub fn merge_opts(&mut self, merge_opts: MergeOptions) -> &mut Self {
- self.merge_opts = Some(merge_opts);
- self
- }
-
- /// Obtain the raw struct
- pub fn raw(&mut self) -> raw::git_cherrypick_options {
- unsafe {
- let mut checkout_opts: raw::git_checkout_options = mem::zeroed();
- raw::git_checkout_init_options(&mut checkout_opts, raw::GIT_CHECKOUT_OPTIONS_VERSION);
- if let Some(ref mut cb) = self.checkout_builder {
- cb.configure(&mut checkout_opts);
- }
-
- let mut merge_opts: raw::git_merge_options = mem::zeroed();
- raw::git_merge_init_options(&mut merge_opts, raw::GIT_MERGE_OPTIONS_VERSION);
- if let Some(ref opts) = self.merge_opts {
- ptr::copy(opts.raw(), &mut merge_opts, 1);
- }
-
- let mut cherrypick_opts: raw::git_cherrypick_options = mem::zeroed();
- raw::git_cherrypick_init_options(
- &mut cherrypick_opts,
- raw::GIT_CHERRYPICK_OPTIONS_VERSION,
- );
- cherrypick_opts.mainline = self.mainline;
- cherrypick_opts.checkout_opts = checkout_opts;
- cherrypick_opts.merge_opts = merge_opts;
-
- cherrypick_opts
- }
- }
-}