File indexing completed on 2024-04-28 16:01:31

0001 /******************************************************************************
0002  * This file is part of the libqgit2 library
0003  *
0004  * This library is free software; you can redistribute it and/or
0005  * modify it under the terms of the GNU Lesser General Public
0006  * License as published by the Free Software Foundation; either
0007  * version 2.1 of the License, or (at your option) any later version.
0008  *
0009  * This library is distributed in the hope that it will be useful,
0010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012  * Lesser General Public License for more details.
0013  *
0014  * You should have received a copy of the GNU Lesser General Public
0015  * License along with this library; if not, write to the Free Software
0016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0017  */
0018 
0019 #include "qgitcherrypickoptions.h"
0020 
0021 namespace LibQGit2
0022 {
0023 
0024 class CherryPickOptions::Private
0025 {
0026 public:
0027     Private(const MergeOptions &mergeOpts, const CheckoutOptions &checkoutOpts)
0028     {
0029         git_cherrypick_options temp = GIT_CHERRYPICK_OPTIONS_INIT;
0030         native = temp;
0031 
0032         native.merge_opts = *mergeOpts.data();
0033         native.checkout_opts = *checkoutOpts.data();
0034     }
0035 
0036     git_cherrypick_options native;
0037 };
0038 
0039 
0040 CherryPickOptions::CherryPickOptions(const MergeOptions &mergeOpts, const CheckoutOptions &checkoutOpts)
0041     : d_ptr(new Private(mergeOpts, checkoutOpts))
0042 {
0043 }
0044 
0045 
0046 void CherryPickOptions::setMainline(unsigned int mainline)
0047 {
0048     d_ptr->native.mainline = mainline;
0049 }
0050 
0051 const git_cherrypick_options *CherryPickOptions::data() const
0052 {
0053     return &d_ptr->native;
0054 }
0055 
0056 }