{-# OPTIONS_GHC -fno-warn-unused-imports #-} #include #include #include module Bindings.Libgit2.Checkout where import Foreign.Ptr #strict_import import Bindings.Libgit2.Common import Bindings.Libgit2.Types import Bindings.Libgit2.Strarray import Bindings.Libgit2.Diff {- typedef enum { GIT_CHECKOUT_NONE = 0, GIT_CHECKOUT_SAFE = 1u << 0, GIT_CHECKOUT_SAFE_CREATE = 1u << 1, GIT_CHECKOUT_FORCE = 1u << 2, GIT_CHECKOUT_ALLOW_CONFLICTS = 1u << 4, GIT_CHECKOUT_REMOVE_UNTRACKED = 1u << 5, GIT_CHECKOUT_REMOVE_IGNORED = 1u << 6, GIT_CHECKOUT_UPDATE_ONLY = 1u << 7, GIT_CHECKOUT_DONT_UPDATE_INDEX = 1u << 8, GIT_CHECKOUT_NO_REFRESH = 1u << 9, GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH = 1u << 13, GIT_CHECKOUT_SKIP_UNMERGED = 1u << 10, GIT_CHECKOUT_USE_OURS = 1u << 11, GIT_CHECKOUT_USE_THEIRS = 1u << 12, GIT_CHECKOUT_UPDATE_SUBMODULES = 1u << 16, GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED = 1u << 17 } git_checkout_strategy_t; -} #integral_t git_checkout_strategy_t #num GIT_CHECKOUT_NONE #num GIT_CHECKOUT_SAFE #num GIT_CHECKOUT_SAFE_CREATE #num GIT_CHECKOUT_FORCE #num GIT_CHECKOUT_ALLOW_CONFLICTS #num GIT_CHECKOUT_REMOVE_UNTRACKED #num GIT_CHECKOUT_REMOVE_IGNORED #num GIT_CHECKOUT_UPDATE_ONLY #num GIT_CHECKOUT_DONT_UPDATE_INDEX #num GIT_CHECKOUT_NO_REFRESH #num GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH #num GIT_CHECKOUT_SKIP_UNMERGED #num GIT_CHECKOUT_USE_OURS #num GIT_CHECKOUT_USE_THEIRS #num GIT_CHECKOUT_UPDATE_SUBMODULES #num GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED {- typedef enum { GIT_CHECKOUT_NOTIFY_NONE = 0, GIT_CHECKOUT_NOTIFY_CONFLICT = 1u << 0, GIT_CHECKOUT_NOTIFY_DIRTY = 1u << 1, GIT_CHECKOUT_NOTIFY_UPDATED = 1u << 2, GIT_CHECKOUT_NOTIFY_UNTRACKED = 1u << 3, GIT_CHECKOUT_NOTIFY_IGNORED = 1u << 4 } git_checkout_notify_t; -} #integral_t git_checkout_notify_t #num GIT_CHECKOUT_NOTIFY_NONE #num GIT_CHECKOUT_NOTIFY_CONFLICT #num GIT_CHECKOUT_NOTIFY_DIRTY #num GIT_CHECKOUT_NOTIFY_UPDATED #num GIT_CHECKOUT_NOTIFY_UNTRACKED #num GIT_CHECKOUT_NOTIFY_IGNORED {- typedef int (* git_checkout_notify_cb)(git_checkout_notify_t why, const char * path, const git_diff_file * baseline, const git_diff_file * target, const git_diff_file * workdir, void * payload); -} #callback git_checkout_notify_cb , -> CString -> Ptr () -> Ptr () -> Ptr () -> Ptr () -> IO CInt {- typedef void (* git_checkout_progress_cb)(const char * path, size_t completed_steps, size_t total_steps, void * payload); -} #callback git_checkout_progress_cb , CString -> CSize -> CSize -> Ptr () -> IO () {- typedef struct git_checkout_opts { unsigned int version; unsigned int checkout_strategy; int disable_filters; unsigned int dir_mode; unsigned int file_mode; int file_open_flags; unsigned int notify_flags; git_checkout_notify_cb notify_cb; void * notify_payload; git_checkout_progress_cb progress_cb; void * progress_payload; git_strarray paths; git_tree * baseline; } git_checkout_opts; -} #starttype git_checkout_opts #field version , CUInt #field checkout_strategy , CUInt #field disable_filters , CInt #field dir_mode , CUInt #field file_mode , CUInt #field file_open_flags , CInt #field notify_flags , CUInt #field notify_cb , #field notify_payload , Ptr () #field progress_cb , #field progress_payload , Ptr () #field paths , #field baseline , Ptr #stoptype #ccall git_checkout_head , Ptr -> Ptr -> IO (CInt) #ccall git_checkout_index , Ptr -> Ptr -> Ptr -> IO (CInt) #ccall git_checkout_tree , Ptr -> Ptr -> Ptr -> IO (CInt)