Merge pull request #129 from libgit2/cmn/const-type

Make the constants have types
This commit is contained in:
Carlos Martín Nieto 2014-10-28 11:59:04 +01:00
commit ccfce74e18
14 changed files with 197 additions and 197 deletions

View File

@ -15,7 +15,7 @@ type BranchType uint
const ( const (
BranchLocal BranchType = C.GIT_BRANCH_LOCAL BranchLocal BranchType = C.GIT_BRANCH_LOCAL
BranchRemote = C.GIT_BRANCH_REMOTE BranchRemote BranchType = C.GIT_BRANCH_REMOTE
) )
type Branch struct { type Branch struct {

View File

@ -13,21 +13,21 @@ type CheckoutStrategy uint
const ( const (
CheckoutNone CheckoutStrategy = C.GIT_CHECKOUT_NONE // Dry run, no actual updates CheckoutNone CheckoutStrategy = C.GIT_CHECKOUT_NONE // Dry run, no actual updates
CheckoutSafe = C.GIT_CHECKOUT_SAFE // Allow safe updates that cannot overwrite uncommitted data CheckoutSafe CheckoutStrategy = C.GIT_CHECKOUT_SAFE // Allow safe updates that cannot overwrite uncommitted data
CheckoutSafeCreate = C.GIT_CHECKOUT_SAFE_CREATE // Allow safe updates plus creation of missing files CheckoutSafeCreate CheckoutStrategy = C.GIT_CHECKOUT_SAFE_CREATE // Allow safe updates plus creation of missing files
CheckoutForce = C.GIT_CHECKOUT_FORCE // Allow all updates to force working directory to look like index CheckoutForce CheckoutStrategy = C.GIT_CHECKOUT_FORCE // Allow all updates to force working directory to look like index
CheckoutAllowConflicts = C.GIT_CHECKOUT_ALLOW_CONFLICTS // Allow checkout to make safe updates even if conflicts are found CheckoutAllowConflicts CheckoutStrategy = C.GIT_CHECKOUT_ALLOW_CONFLICTS // Allow checkout to make safe updates even if conflicts are found
CheckoutRemoveUntracked = C.GIT_CHECKOUT_REMOVE_UNTRACKED // Remove untracked files not in index (that are not ignored) CheckoutRemoveUntracked CheckoutStrategy = C.GIT_CHECKOUT_REMOVE_UNTRACKED // Remove untracked files not in index (that are not ignored)
CheckoutRemoveIgnored = C.GIT_CHECKOUT_REMOVE_IGNORED // Remove ignored files not in index CheckoutRemoveIgnored CheckoutStrategy = C.GIT_CHECKOUT_REMOVE_IGNORED // Remove ignored files not in index
CheckotUpdateOnly = C.GIT_CHECKOUT_UPDATE_ONLY // Only update existing files, don't create new ones CheckotUpdateOnly CheckoutStrategy = C.GIT_CHECKOUT_UPDATE_ONLY // Only update existing files, don't create new ones
CheckoutDontUpdateIndex = C.GIT_CHECKOUT_DONT_UPDATE_INDEX // Normally checkout updates index entries as it goes; this stops that CheckoutDontUpdateIndex CheckoutStrategy = C.GIT_CHECKOUT_DONT_UPDATE_INDEX // Normally checkout updates index entries as it goes; this stops that
CheckoutNoRefresh = C.GIT_CHECKOUT_NO_REFRESH // Don't refresh index/config/etc before doing checkout CheckoutNoRefresh CheckoutStrategy = C.GIT_CHECKOUT_NO_REFRESH // Don't refresh index/config/etc before doing checkout
CheckooutDisablePathspecMatch = C.GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH // Treat pathspec as simple list of exact match file paths CheckooutDisablePathspecMatch CheckoutStrategy = C.GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH // Treat pathspec as simple list of exact match file paths
CheckoutSkipUnmerged = C.GIT_CHECKOUT_SKIP_UNMERGED // Allow checkout to skip unmerged files (NOT IMPLEMENTED) CheckoutSkipUnmerged CheckoutStrategy = C.GIT_CHECKOUT_SKIP_UNMERGED // Allow checkout to skip unmerged files (NOT IMPLEMENTED)
CheckoutUserOurs = C.GIT_CHECKOUT_USE_OURS // For unmerged files, checkout stage 2 from index (NOT IMPLEMENTED) CheckoutUserOurs CheckoutStrategy = C.GIT_CHECKOUT_USE_OURS // For unmerged files, checkout stage 2 from index (NOT IMPLEMENTED)
CheckoutUseTheirs = C.GIT_CHECKOUT_USE_THEIRS // For unmerged files, checkout stage 3 from index (NOT IMPLEMENTED) CheckoutUseTheirs CheckoutStrategy = C.GIT_CHECKOUT_USE_THEIRS // For unmerged files, checkout stage 3 from index (NOT IMPLEMENTED)
CheckoutUpdateSubmodules = C.GIT_CHECKOUT_UPDATE_SUBMODULES // Recursively checkout submodules with same options (NOT IMPLEMENTED) CheckoutUpdateSubmodules CheckoutStrategy = C.GIT_CHECKOUT_UPDATE_SUBMODULES // Recursively checkout submodules with same options (NOT IMPLEMENTED)
CheckoutUpdateSubmodulesIfChanged = C.GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED // Recursively checkout submodules if HEAD moved in super repo (NOT IMPLEMENTED) CheckoutUpdateSubmodulesIfChanged CheckoutStrategy = C.GIT_CHECKOUT_UPDATE_SUBMODULES_IF_CHANGED // Recursively checkout submodules if HEAD moved in super repo (NOT IMPLEMENTED)
) )
type CheckoutOpts struct { type CheckoutOpts struct {

View File

@ -11,9 +11,9 @@ type CredType uint
const ( const (
CredTypeUserpassPlaintext CredType = C.GIT_CREDTYPE_USERPASS_PLAINTEXT CredTypeUserpassPlaintext CredType = C.GIT_CREDTYPE_USERPASS_PLAINTEXT
CredTypeSshKey = C.GIT_CREDTYPE_SSH_KEY CredTypeSshKey CredType = C.GIT_CREDTYPE_SSH_KEY
CredTypeSshCustom = C.GIT_CREDTYPE_SSH_CUSTOM CredTypeSshCustom CredType = C.GIT_CREDTYPE_SSH_CUSTOM
CredTypeDefault = C.GIT_CREDTYPE_DEFAULT CredTypeDefault CredType = C.GIT_CREDTYPE_DEFAULT
) )
type Cred struct { type Cred struct {

82
diff.go
View File

@ -17,37 +17,37 @@ type DiffFlag int
const ( const (
DiffFlagBinary DiffFlag = C.GIT_DIFF_FLAG_BINARY DiffFlagBinary DiffFlag = C.GIT_DIFF_FLAG_BINARY
DiffFlagNotBinary = C.GIT_DIFF_FLAG_NOT_BINARY DiffFlagNotBinary DiffFlag = C.GIT_DIFF_FLAG_NOT_BINARY
DiffFlagValidOid = C.GIT_DIFF_FLAG_VALID_ID DiffFlagValidOid DiffFlag = C.GIT_DIFF_FLAG_VALID_ID
) )
type Delta int type Delta int
const ( const (
DeltaUnmodified Delta = C.GIT_DELTA_UNMODIFIED DeltaUnmodified Delta = C.GIT_DELTA_UNMODIFIED
DeltaAdded = C.GIT_DELTA_ADDED DeltaAdded Delta = C.GIT_DELTA_ADDED
DeltaDeleted = C.GIT_DELTA_DELETED DeltaDeleted Delta = C.GIT_DELTA_DELETED
DeltaModified = C.GIT_DELTA_MODIFIED DeltaModified Delta = C.GIT_DELTA_MODIFIED
DeltaRenamed = C.GIT_DELTA_RENAMED DeltaRenamed Delta = C.GIT_DELTA_RENAMED
DeltaCopied = C.GIT_DELTA_COPIED DeltaCopied Delta = C.GIT_DELTA_COPIED
DeltaIgnored = C.GIT_DELTA_IGNORED DeltaIgnored Delta = C.GIT_DELTA_IGNORED
DeltaUntracked = C.GIT_DELTA_UNTRACKED DeltaUntracked Delta = C.GIT_DELTA_UNTRACKED
DeltaTypeChange = C.GIT_DELTA_TYPECHANGE DeltaTypeChange Delta = C.GIT_DELTA_TYPECHANGE
) )
type DiffLineType int type DiffLineType int
const ( const (
DiffLineContext DiffLineType = C.GIT_DIFF_LINE_CONTEXT DiffLineContext DiffLineType = C.GIT_DIFF_LINE_CONTEXT
DiffLineAddition = C.GIT_DIFF_LINE_ADDITION DiffLineAddition DiffLineType = C.GIT_DIFF_LINE_ADDITION
DiffLineDeletion = C.GIT_DIFF_LINE_DELETION DiffLineDeletion DiffLineType = C.GIT_DIFF_LINE_DELETION
DiffLineContextEOFNL = C.GIT_DIFF_LINE_CONTEXT_EOFNL DiffLineContextEOFNL DiffLineType = C.GIT_DIFF_LINE_CONTEXT_EOFNL
DiffLineAddEOFNL = C.GIT_DIFF_LINE_ADD_EOFNL DiffLineAddEOFNL DiffLineType = C.GIT_DIFF_LINE_ADD_EOFNL
DiffLineDelEOFNL = C.GIT_DIFF_LINE_DEL_EOFNL DiffLineDelEOFNL DiffLineType = C.GIT_DIFF_LINE_DEL_EOFNL
DiffLineFileHdr = C.GIT_DIFF_LINE_FILE_HDR DiffLineFileHdr DiffLineType = C.GIT_DIFF_LINE_FILE_HDR
DiffLineHunkHdr = C.GIT_DIFF_LINE_HUNK_HDR DiffLineHunkHdr DiffLineType = C.GIT_DIFF_LINE_HUNK_HDR
DiffLineBinary = C.GIT_DIFF_LINE_BINARY DiffLineBinary DiffLineType = C.GIT_DIFF_LINE_BINARY
) )
type DiffFile struct { type DiffFile struct {
@ -276,33 +276,33 @@ type DiffOptionsFlag int
const ( const (
DiffNormal DiffOptionsFlag = C.GIT_DIFF_NORMAL DiffNormal DiffOptionsFlag = C.GIT_DIFF_NORMAL
DiffReverse = C.GIT_DIFF_REVERSE DiffReverse DiffOptionsFlag = C.GIT_DIFF_REVERSE
DiffIncludeIgnored = C.GIT_DIFF_INCLUDE_IGNORED DiffIncludeIgnored DiffOptionsFlag = C.GIT_DIFF_INCLUDE_IGNORED
DiffRecurseIgnoredDirs = C.GIT_DIFF_RECURSE_IGNORED_DIRS DiffRecurseIgnoredDirs DiffOptionsFlag = C.GIT_DIFF_RECURSE_IGNORED_DIRS
DiffIncludeUntracked = C.GIT_DIFF_INCLUDE_UNTRACKED DiffIncludeUntracked DiffOptionsFlag = C.GIT_DIFF_INCLUDE_UNTRACKED
DiffRecurseUntracked = C.GIT_DIFF_RECURSE_UNTRACKED_DIRS DiffRecurseUntracked DiffOptionsFlag = C.GIT_DIFF_RECURSE_UNTRACKED_DIRS
DiffIncludeUnmodified = C.GIT_DIFF_INCLUDE_UNMODIFIED DiffIncludeUnmodified DiffOptionsFlag = C.GIT_DIFF_INCLUDE_UNMODIFIED
DiffIncludeTypeChange = C.GIT_DIFF_INCLUDE_TYPECHANGE DiffIncludeTypeChange DiffOptionsFlag = C.GIT_DIFF_INCLUDE_TYPECHANGE
DiffIncludeTypeChangeTrees = C.GIT_DIFF_INCLUDE_TYPECHANGE_TREES DiffIncludeTypeChangeTrees DiffOptionsFlag = C.GIT_DIFF_INCLUDE_TYPECHANGE_TREES
DiffIgnoreFilemode = C.GIT_DIFF_IGNORE_FILEMODE DiffIgnoreFilemode DiffOptionsFlag = C.GIT_DIFF_IGNORE_FILEMODE
DiffIgnoreSubmodules = C.GIT_DIFF_IGNORE_SUBMODULES DiffIgnoreSubmodules DiffOptionsFlag = C.GIT_DIFF_IGNORE_SUBMODULES
DiffIgnoreCase = C.GIT_DIFF_IGNORE_CASE DiffIgnoreCase DiffOptionsFlag = C.GIT_DIFF_IGNORE_CASE
DiffDisablePathspecMatch = C.GIT_DIFF_DISABLE_PATHSPEC_MATCH DiffDisablePathspecMatch DiffOptionsFlag = C.GIT_DIFF_DISABLE_PATHSPEC_MATCH
DiffSkipBinaryCheck = C.GIT_DIFF_SKIP_BINARY_CHECK DiffSkipBinaryCheck DiffOptionsFlag = C.GIT_DIFF_SKIP_BINARY_CHECK
DiffEnableFastUntrackedDirs = C.GIT_DIFF_ENABLE_FAST_UNTRACKED_DIRS DiffEnableFastUntrackedDirs DiffOptionsFlag = C.GIT_DIFF_ENABLE_FAST_UNTRACKED_DIRS
DiffForceText = C.GIT_DIFF_FORCE_TEXT DiffForceText DiffOptionsFlag = C.GIT_DIFF_FORCE_TEXT
DiffForceBinary = C.GIT_DIFF_FORCE_BINARY DiffForceBinary DiffOptionsFlag = C.GIT_DIFF_FORCE_BINARY
DiffIgnoreWhitespace = C.GIT_DIFF_IGNORE_WHITESPACE DiffIgnoreWhitespace DiffOptionsFlag = C.GIT_DIFF_IGNORE_WHITESPACE
DiffIgnoreWhitespaceChange = C.GIT_DIFF_IGNORE_WHITESPACE_CHANGE DiffIgnoreWhitespaceChange DiffOptionsFlag = C.GIT_DIFF_IGNORE_WHITESPACE_CHANGE
DiffIgnoreWitespaceEol = C.GIT_DIFF_IGNORE_WHITESPACE_EOL DiffIgnoreWitespaceEol DiffOptionsFlag = C.GIT_DIFF_IGNORE_WHITESPACE_EOL
DiffShowUntrackedContent = C.GIT_DIFF_SHOW_UNTRACKED_CONTENT DiffShowUntrackedContent DiffOptionsFlag = C.GIT_DIFF_SHOW_UNTRACKED_CONTENT
DiffShowUnmodified = C.GIT_DIFF_SHOW_UNMODIFIED DiffShowUnmodified DiffOptionsFlag = C.GIT_DIFF_SHOW_UNMODIFIED
DiffPatience = C.GIT_DIFF_PATIENCE DiffPatience DiffOptionsFlag = C.GIT_DIFF_PATIENCE
DiffMinimal = C.GIT_DIFF_MINIMAL DiffMinimal DiffOptionsFlag = C.GIT_DIFF_MINIMAL
) )
type DiffNotifyCallback func(diffSoFar *Diff, deltaToAdd DiffDelta, matchedPathspec string) error type DiffNotifyCallback func(diffSoFar *Diff, deltaToAdd DiffDelta, matchedPathspec string) error

86
git.go
View File

@ -18,32 +18,32 @@ type ErrorClass int
const ( const (
ErrClassNone ErrorClass = C.GITERR_NONE ErrClassNone ErrorClass = C.GITERR_NONE
ErrClassNoMemory = C.GITERR_NOMEMORY ErrClassNoMemory ErrorClass = C.GITERR_NOMEMORY
ErrClassOs = C.GITERR_OS ErrClassOs ErrorClass = C.GITERR_OS
ErrClassInvalid = C.GITERR_INVALID ErrClassInvalid ErrorClass = C.GITERR_INVALID
ErrClassReference = C.GITERR_REFERENCE ErrClassReference ErrorClass = C.GITERR_REFERENCE
ErrClassZlib = C.GITERR_ZLIB ErrClassZlib ErrorClass = C.GITERR_ZLIB
ErrClassRepository = C.GITERR_REPOSITORY ErrClassRepository ErrorClass = C.GITERR_REPOSITORY
ErrClassConfig = C.GITERR_CONFIG ErrClassConfig ErrorClass = C.GITERR_CONFIG
ErrClassRegex = C.GITERR_REGEX ErrClassRegex ErrorClass = C.GITERR_REGEX
ErrClassOdb = C.GITERR_ODB ErrClassOdb ErrorClass = C.GITERR_ODB
ErrClassIndex = C.GITERR_INDEX ErrClassIndex ErrorClass = C.GITERR_INDEX
ErrClassObject = C.GITERR_OBJECT ErrClassObject ErrorClass = C.GITERR_OBJECT
ErrClassNet = C.GITERR_NET ErrClassNet ErrorClass = C.GITERR_NET
ErrClassTag = C.GITERR_TAG ErrClassTag ErrorClass = C.GITERR_TAG
ErrClassTree = C.GITERR_TREE ErrClassTree ErrorClass = C.GITERR_TREE
ErrClassIndexer = C.GITERR_INDEXER ErrClassIndexer ErrorClass = C.GITERR_INDEXER
ErrClassSSL = C.GITERR_SSL ErrClassSSL ErrorClass = C.GITERR_SSL
ErrClassSubmodule = C.GITERR_SUBMODULE ErrClassSubmodule ErrorClass = C.GITERR_SUBMODULE
ErrClassThread = C.GITERR_THREAD ErrClassThread ErrorClass = C.GITERR_THREAD
ErrClassStash = C.GITERR_STASH ErrClassStash ErrorClass = C.GITERR_STASH
ErrClassCheckout = C.GITERR_CHECKOUT ErrClassCheckout ErrorClass = C.GITERR_CHECKOUT
ErrClassFetchHead = C.GITERR_FETCHHEAD ErrClassFetchHead ErrorClass = C.GITERR_FETCHHEAD
ErrClassMerge = C.GITERR_MERGE ErrClassMerge ErrorClass = C.GITERR_MERGE
ErrClassSsh = C.GITERR_SSH ErrClassSsh ErrorClass = C.GITERR_SSH
ErrClassFilter = C.GITERR_FILTER ErrClassFilter ErrorClass = C.GITERR_FILTER
ErrClassRevert = C.GITERR_REVERT ErrClassRevert ErrorClass = C.GITERR_REVERT
ErrClassCallback = C.GITERR_CALLBACK ErrClassCallback ErrorClass = C.GITERR_CALLBACK
) )
type ErrorCode int type ErrorCode int
@ -53,39 +53,39 @@ const (
// No error // No error
ErrOk ErrorCode = C.GIT_OK ErrOk ErrorCode = C.GIT_OK
// Generic error // Generic error
ErrGeneric = C.GIT_ERROR ErrGeneric ErrorCode = C.GIT_ERROR
// Requested object could not be found // Requested object could not be found
ErrNotFound = C.GIT_ENOTFOUND ErrNotFound ErrorCode = C.GIT_ENOTFOUND
// Object exists preventing operation // Object exists preventing operation
ErrExists = C.GIT_EEXISTS ErrExists ErrorCode = C.GIT_EEXISTS
// More than one object matches // More than one object matches
ErrAmbigious = C.GIT_EAMBIGUOUS ErrAmbigious ErrorCode = C.GIT_EAMBIGUOUS
// Output buffer too short to hold data // Output buffer too short to hold data
ErrBuffs = C.GIT_EBUFS ErrBuffs ErrorCode = C.GIT_EBUFS
// GIT_EUSER is a special error that is never generated by libgit2 // GIT_EUSER is a special error that is never generated by libgit2
// code. You can return it from a callback (e.g to stop an iteration) // code. You can return it from a callback (e.g to stop an iteration)
// to know that it was generated by the callback and not by libgit2. // to know that it was generated by the callback and not by libgit2.
ErrUser = C.GIT_EUSER ErrUser ErrorCode = C.GIT_EUSER
// Operation not allowed on bare repository // Operation not allowed on bare repository
ErrBareRepo = C.GIT_EBAREREPO ErrBareRepo ErrorCode = C.GIT_EBAREREPO
// HEAD refers to branch with no commits // HEAD refers to branch with no commits
ErrUnbornBranch = C.GIT_EUNBORNBRANCH ErrUnbornBranch ErrorCode = C.GIT_EUNBORNBRANCH
// Merge in progress prevented operation // Merge in progress prevented operation
ErrUnmerged = C.GIT_EUNMERGED ErrUnmerged ErrorCode = C.GIT_EUNMERGED
// Reference was not fast-forwardable // Reference was not fast-forwardable
ErrNonFastForward = C.GIT_ENONFASTFORWARD ErrNonFastForward ErrorCode = C.GIT_ENONFASTFORWARD
// Name/ref spec was not in a valid format // Name/ref spec was not in a valid format
ErrInvalidSpec = C.GIT_EINVALIDSPEC ErrInvalidSpec ErrorCode = C.GIT_EINVALIDSPEC
// Merge conflicts prevented operation // Merge conflicts prevented operation
ErrMergeConflict = C.GIT_EMERGECONFLICT ErrMergeConflict ErrorCode = C.GIT_EMERGECONFLICT
// Lock file prevented operation // Lock file prevented operation
ErrLocked = C.GIT_ELOCKED ErrLocked ErrorCode = C.GIT_ELOCKED
// Reference value does not match expected // Reference value does not match expected
ErrModified = C.GIT_EMODIFIED ErrModified ErrorCode = C.GIT_EMODIFIED
// Internal only // Internal only
ErrPassthrough = C.GIT_PASSTHROUGH ErrPassthrough ErrorCode = C.GIT_PASSTHROUGH
// Signals end of iteration with iterator // Signals end of iteration with iterator
ErrIterOver = C.GIT_ITEROVER ErrIterOver ErrorCode = C.GIT_ITEROVER
) )
var ( var (
@ -229,7 +229,7 @@ func MakeGitError(errorCode C.int) error {
var errMessage string var errMessage string
var errClass ErrorClass var errClass ErrorClass
if errorCode != ErrIterOver { if errorCode != C.GIT_ITEROVER {
err := C.giterr_last() err := C.giterr_last()
if err != nil { if err != nil {
errMessage = C.GoString(err.message) errMessage = C.GoString(err.message)

View File

@ -122,9 +122,9 @@ type MergeFileFavor int
const ( const (
MergeFileFavorNormal MergeFileFavor = C.GIT_MERGE_FILE_FAVOR_NORMAL MergeFileFavorNormal MergeFileFavor = C.GIT_MERGE_FILE_FAVOR_NORMAL
MergeFileFavorOurs = C.GIT_MERGE_FILE_FAVOR_OURS MergeFileFavorOurs MergeFileFavor = C.GIT_MERGE_FILE_FAVOR_OURS
MergeFileFavorTheirs = C.GIT_MERGE_FILE_FAVOR_THEIRS MergeFileFavorTheirs MergeFileFavor = C.GIT_MERGE_FILE_FAVOR_THEIRS
MergeFileFavorUnion = C.GIT_MERGE_FILE_FAVOR_UNION MergeFileFavorUnion MergeFileFavor = C.GIT_MERGE_FILE_FAVOR_UNION
) )
func (r *Repository) Merge(theirHeads []*MergeHead, mergeOptions *MergeOptions, checkoutOptions *CheckoutOpts) error { func (r *Repository) Merge(theirHeads []*MergeHead, mergeOptions *MergeOptions, checkoutOptions *CheckoutOpts) error {
@ -150,18 +150,18 @@ type MergeAnalysis int
const ( const (
MergeAnalysisNone MergeAnalysis = C.GIT_MERGE_ANALYSIS_NONE MergeAnalysisNone MergeAnalysis = C.GIT_MERGE_ANALYSIS_NONE
MergeAnalysisNormal = C.GIT_MERGE_ANALYSIS_NORMAL MergeAnalysisNormal MergeAnalysis = C.GIT_MERGE_ANALYSIS_NORMAL
MergeAnalysisUpToDate = C.GIT_MERGE_ANALYSIS_UP_TO_DATE MergeAnalysisUpToDate MergeAnalysis = C.GIT_MERGE_ANALYSIS_UP_TO_DATE
MergeAnalysisFastForward = C.GIT_MERGE_ANALYSIS_FASTFORWARD MergeAnalysisFastForward MergeAnalysis = C.GIT_MERGE_ANALYSIS_FASTFORWARD
MergeAnalysisUnborn = C.GIT_MERGE_ANALYSIS_UNBORN MergeAnalysisUnborn MergeAnalysis = C.GIT_MERGE_ANALYSIS_UNBORN
) )
type MergePreference int type MergePreference int
const ( const (
MergePreferenceNone MergePreference = C.GIT_MERGE_PREFERENCE_NONE MergePreferenceNone MergePreference = C.GIT_MERGE_PREFERENCE_NONE
MergePreferenceNoFastForward = C.GIT_MERGE_PREFERENCE_NO_FASTFORWARD MergePreferenceNoFastForward MergePreference = C.GIT_MERGE_PREFERENCE_NO_FASTFORWARD
MergePreferenceFastForwardOnly = C.GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY MergePreferenceFastForwardOnly MergePreference = C.GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY
) )
func (r *Repository) MergeAnalysis(theirHeads []*MergeHead) (MergeAnalysis, MergePreference, error) { func (r *Repository) MergeAnalysis(theirHeads []*MergeHead) (MergeAnalysis, MergePreference, error) {
@ -287,9 +287,9 @@ type MergeFileFlags int
const ( const (
MergeFileDefault MergeFileFlags = C.GIT_MERGE_FILE_DEFAULT MergeFileDefault MergeFileFlags = C.GIT_MERGE_FILE_DEFAULT
MergeFileStyleMerge = C.GIT_MERGE_FILE_STYLE_MERGE MergeFileStyleMerge MergeFileFlags = C.GIT_MERGE_FILE_STYLE_MERGE
MergeFileStyleDiff = C.GIT_MERGE_FILE_STYLE_DIFF3 MergeFileStyleDiff MergeFileFlags = C.GIT_MERGE_FILE_STYLE_DIFF3
MergeFileStyleSimplifyAlnum = C.GIT_MERGE_FILE_SIMPLIFY_ALNUM MergeFileStyleSimplifyAlnum MergeFileFlags = C.GIT_MERGE_FILE_SIMPLIFY_ALNUM
) )
type MergeFileOptions struct { type MergeFileOptions struct {

View File

@ -11,11 +11,11 @@ type ObjectType int
const ( const (
ObjectAny ObjectType = C.GIT_OBJ_ANY ObjectAny ObjectType = C.GIT_OBJ_ANY
ObjectBad = C.GIT_OBJ_BAD ObjectBad ObjectType = C.GIT_OBJ_BAD
ObjectCommit = C.GIT_OBJ_COMMIT ObjectCommit ObjectType = C.GIT_OBJ_COMMIT
ObjectTree = C.GIT_OBJ_TREE ObjectTree ObjectType = C.GIT_OBJ_TREE
ObjectBlob = C.GIT_OBJ_BLOB ObjectBlob ObjectType = C.GIT_OBJ_BLOB
ObjectTag = C.GIT_OBJ_TAG ObjectTag ObjectType = C.GIT_OBJ_TAG
) )
type Object interface { type Object interface {

View File

@ -14,7 +14,7 @@ type ReferenceType int
const ( const (
ReferenceSymbolic ReferenceType = C.GIT_REF_SYMBOLIC ReferenceSymbolic ReferenceType = C.GIT_REF_SYMBOLIC
ReferenceOid = C.GIT_REF_OID ReferenceOid ReferenceType = C.GIT_REF_OID
) )
type Reference struct { type Reference struct {

View File

@ -40,19 +40,19 @@ type ConnectDirection uint
const ( const (
RemoteCompletionDownload RemoteCompletion = C.GIT_REMOTE_COMPLETION_DOWNLOAD RemoteCompletionDownload RemoteCompletion = C.GIT_REMOTE_COMPLETION_DOWNLOAD
RemoteCompletionIndexing = C.GIT_REMOTE_COMPLETION_INDEXING RemoteCompletionIndexing RemoteCompletion = C.GIT_REMOTE_COMPLETION_INDEXING
RemoteCompletionError = C.GIT_REMOTE_COMPLETION_ERROR RemoteCompletionError RemoteCompletion = C.GIT_REMOTE_COMPLETION_ERROR
ConnectDirectionFetch ConnectDirection = C.GIT_DIRECTION_FETCH ConnectDirectionFetch ConnectDirection = C.GIT_DIRECTION_FETCH
ConnectDirectionPush = C.GIT_DIRECTION_PUSH ConnectDirectionPush ConnectDirection = C.GIT_DIRECTION_PUSH
) )
type TransportMessageCallback func(str string) int type TransportMessageCallback func(str string) ErrorCode
type CompletionCallback func(RemoteCompletion) int type CompletionCallback func(RemoteCompletion) ErrorCode
type CredentialsCallback func(url string, username_from_url string, allowed_types CredType) (int, *Cred) type CredentialsCallback func(url string, username_from_url string, allowed_types CredType) (ErrorCode, *Cred)
type TransferProgressCallback func(stats TransferProgress) int type TransferProgressCallback func(stats TransferProgress) ErrorCode
type UpdateTipsCallback func(refname string, a *Oid, b *Oid) int type UpdateTipsCallback func(refname string, a *Oid, b *Oid) ErrorCode
type CertificateCheckCallback func(cert *Certificate, valid bool, hostname string) int type CertificateCheckCallback func(cert *Certificate, valid bool, hostname string) ErrorCode
type RemoteCallbacks struct { type RemoteCallbacks struct {
SidebandProgressCallback TransportMessageCallback SidebandProgressCallback TransportMessageCallback
@ -72,7 +72,7 @@ type CertificateKind uint
const ( const (
CertificateX509 CertificateKind = C.GIT_CERT_X509 CertificateX509 CertificateKind = C.GIT_CERT_X509
CertificateHostkey = C.GIT_CERT_HOSTKEY_LIBSSH2 CertificateHostkey CertificateKind = C.GIT_CERT_HOSTKEY_LIBSSH2
) )
// Certificate represents the two possible certificates which libgit2 // Certificate represents the two possible certificates which libgit2
@ -89,7 +89,7 @@ type HostkeyKind uint
const ( const (
HostkeyMD5 HostkeyKind = C.GIT_CERT_SSH_MD5 HostkeyMD5 HostkeyKind = C.GIT_CERT_SSH_MD5
HostkeySHA1 = C.GIT_CERT_SSH_SHA1 HostkeySHA1 HostkeyKind = C.GIT_CERT_SSH_SHA1
) )
// Server host key information. If Kind is HostkeyMD5 the MD5 field // Server host key information. If Kind is HostkeyMD5 the MD5 field
@ -129,7 +129,7 @@ func sidebandProgressCallback(_str *C.char, _len C.int, data unsafe.Pointer) int
return 0 return 0
} }
str := C.GoStringN(_str, _len) str := C.GoStringN(_str, _len)
return callbacks.SidebandProgressCallback(str) return int(callbacks.SidebandProgressCallback(str))
} }
//export completionCallback //export completionCallback
@ -138,7 +138,7 @@ func completionCallback(completion_type C.git_remote_completion_type, data unsaf
if callbacks.CompletionCallback == nil { if callbacks.CompletionCallback == nil {
return 0 return 0
} }
return callbacks.CompletionCallback((RemoteCompletion)(completion_type)) return int(callbacks.CompletionCallback(RemoteCompletion(completion_type)))
} }
//export credentialsCallback //export credentialsCallback
@ -151,7 +151,7 @@ func credentialsCallback(_cred **C.git_cred, _url *C.char, _username_from_url *C
username_from_url := C.GoString(_username_from_url) username_from_url := C.GoString(_username_from_url)
ret, cred := callbacks.CredentialsCallback(url, username_from_url, (CredType)(allowed_types)) ret, cred := callbacks.CredentialsCallback(url, username_from_url, (CredType)(allowed_types))
*_cred = cred.ptr *_cred = cred.ptr
return ret return int(ret)
} }
//export transferProgressCallback //export transferProgressCallback
@ -160,7 +160,7 @@ func transferProgressCallback(stats *C.git_transfer_progress, data unsafe.Pointe
if callbacks.TransferProgressCallback == nil { if callbacks.TransferProgressCallback == nil {
return 0 return 0
} }
return callbacks.TransferProgressCallback(newTransferProgressFromC(stats)) return int(callbacks.TransferProgressCallback(newTransferProgressFromC(stats)))
} }
//export updateTipsCallback //export updateTipsCallback
@ -172,7 +172,7 @@ func updateTipsCallback(_refname *C.char, _a *C.git_oid, _b *C.git_oid, data uns
refname := C.GoString(_refname) refname := C.GoString(_refname)
a := newOidFromC(_a) a := newOidFromC(_a)
b := newOidFromC(_b) b := newOidFromC(_b)
return callbacks.UpdateTipsCallback(refname, a, b) return int(callbacks.UpdateTipsCallback(refname, a, b))
} }
//export certificateCheckCallback //export certificateCheckCallback
@ -213,7 +213,7 @@ func certificateCheckCallback(_cert *C.git_cert, _valid C.int, _host *C.char, da
return -1 // we don't support anything else atm return -1 // we don't support anything else atm
} }
return callbacks.CertificateCheckCallback(&cert, valid, host) return int(callbacks.CertificateCheckCallback(&cert, valid, host))
} }
func RemoteIsValidName(name string) bool { func RemoteIsValidName(name string) bool {

View File

@ -46,7 +46,7 @@ func TestListRemotes(t *testing.T) {
compareStringList(t, expected, actual) compareStringList(t, expected, actual)
} }
func assertHostname(cert *Certificate, valid bool, hostname string, t *testing.T) int { func assertHostname(cert *Certificate, valid bool, hostname string, t *testing.T) ErrorCode {
if hostname != "github.com" { if hostname != "github.com" {
t.Fatal("Hostname does not match") t.Fatal("Hostname does not match")
return ErrUser return ErrUser
@ -64,7 +64,7 @@ func TestCertificateCheck(t *testing.T) {
checkFatal(t, err) checkFatal(t, err)
callbacks := RemoteCallbacks{ callbacks := RemoteCallbacks{
CertificateCheckCallback: func(cert *Certificate, valid bool, hostname string) int { CertificateCheckCallback: func(cert *Certificate, valid bool, hostname string) ErrorCode {
return assertHostname(cert, valid, hostname, t) return assertHostname(cert, valid, hostname, t)
}, },
} }

View File

@ -16,8 +16,8 @@ type RevparseFlag int
const ( const (
RevparseSingle RevparseFlag = C.GIT_REVPARSE_SINGLE RevparseSingle RevparseFlag = C.GIT_REVPARSE_SINGLE
RevparseRange = C.GIT_REVPARSE_RANGE RevparseRange RevparseFlag = C.GIT_REVPARSE_RANGE
RevparseMergeBase = C.GIT_REVPARSE_MERGE_BASE RevparseMergeBase RevparseFlag = C.GIT_REVPARSE_MERGE_BASE
) )
type Revspec struct { type Revspec struct {

View File

@ -15,17 +15,17 @@ type Status int
const ( const (
StatusCurrent Status = C.GIT_STATUS_CURRENT StatusCurrent Status = C.GIT_STATUS_CURRENT
StatusIndexNew = C.GIT_STATUS_INDEX_NEW StatusIndexNew Status = C.GIT_STATUS_INDEX_NEW
StatusIndexModified = C.GIT_STATUS_INDEX_MODIFIED StatusIndexModified Status = C.GIT_STATUS_INDEX_MODIFIED
StatusIndexDeleted = C.GIT_STATUS_INDEX_DELETED StatusIndexDeleted Status = C.GIT_STATUS_INDEX_DELETED
StatusIndexRenamed = C.GIT_STATUS_INDEX_RENAMED StatusIndexRenamed Status = C.GIT_STATUS_INDEX_RENAMED
StatusIndexTypeChange = C.GIT_STATUS_INDEX_TYPECHANGE StatusIndexTypeChange Status = C.GIT_STATUS_INDEX_TYPECHANGE
StatusWtNew = C.GIT_STATUS_WT_NEW StatusWtNew Status = C.GIT_STATUS_WT_NEW
StatusWtModified = C.GIT_STATUS_WT_MODIFIED StatusWtModified Status = C.GIT_STATUS_WT_MODIFIED
StatusWtDeleted = C.GIT_STATUS_WT_DELETED StatusWtDeleted Status = C.GIT_STATUS_WT_DELETED
StatusWtTypeChange = C.GIT_STATUS_WT_TYPECHANGE StatusWtTypeChange Status = C.GIT_STATUS_WT_TYPECHANGE
StatusWtRenamed = C.GIT_STATUS_WT_RENAMED StatusWtRenamed Status = C.GIT_STATUS_WT_RENAMED
StatusIgnored = C.GIT_STATUS_IGNORED StatusIgnored Status = C.GIT_STATUS_IGNORED
) )
type StatusEntry struct { type StatusEntry struct {
@ -98,27 +98,27 @@ type StatusOpt int
const ( const (
StatusOptIncludeUntracked StatusOpt = C.GIT_STATUS_OPT_INCLUDE_UNTRACKED StatusOptIncludeUntracked StatusOpt = C.GIT_STATUS_OPT_INCLUDE_UNTRACKED
StatusOptIncludeIgnored = C.GIT_STATUS_OPT_INCLUDE_IGNORED StatusOptIncludeIgnored StatusOpt = C.GIT_STATUS_OPT_INCLUDE_IGNORED
StatusOptIncludeUnmodified = C.GIT_STATUS_OPT_INCLUDE_UNMODIFIED StatusOptIncludeUnmodified StatusOpt = C.GIT_STATUS_OPT_INCLUDE_UNMODIFIED
StatusOptExcludeSubmodules = C.GIT_STATUS_OPT_EXCLUDE_SUBMODULES StatusOptExcludeSubmodules StatusOpt = C.GIT_STATUS_OPT_EXCLUDE_SUBMODULES
StatusOptRecurseUntrackedDirs = C.GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS StatusOptRecurseUntrackedDirs StatusOpt = C.GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS
StatusOptDisablePathspecMatch = C.GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH StatusOptDisablePathspecMatch StatusOpt = C.GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH
StatusOptRecurseIgnoredDirs = C.GIT_STATUS_OPT_RECURSE_IGNORED_DIRS StatusOptRecurseIgnoredDirs StatusOpt = C.GIT_STATUS_OPT_RECURSE_IGNORED_DIRS
StatusOptRenamesHeadToIndex = C.GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX StatusOptRenamesHeadToIndex StatusOpt = C.GIT_STATUS_OPT_RENAMES_HEAD_TO_INDEX
StatusOptRenamesIndexToWorkdir = C.GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR StatusOptRenamesIndexToWorkdir StatusOpt = C.GIT_STATUS_OPT_RENAMES_INDEX_TO_WORKDIR
StatusOptSortCaseSensitively = C.GIT_STATUS_OPT_SORT_CASE_SENSITIVELY StatusOptSortCaseSensitively StatusOpt = C.GIT_STATUS_OPT_SORT_CASE_SENSITIVELY
StatusOptSortCaseInsensitively = C.GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY StatusOptSortCaseInsensitively StatusOpt = C.GIT_STATUS_OPT_SORT_CASE_INSENSITIVELY
StatusOptRenamesFromRewrites = C.GIT_STATUS_OPT_RENAMES_FROM_REWRITES StatusOptRenamesFromRewrites StatusOpt = C.GIT_STATUS_OPT_RENAMES_FROM_REWRITES
StatusOptNoRefresh = C.GIT_STATUS_OPT_NO_REFRESH StatusOptNoRefresh StatusOpt = C.GIT_STATUS_OPT_NO_REFRESH
StatusOptUpdateIndex = C.GIT_STATUS_OPT_UPDATE_INDEX StatusOptUpdateIndex StatusOpt = C.GIT_STATUS_OPT_UPDATE_INDEX
) )
type StatusShow int type StatusShow int
const ( const (
StatusShowIndexAndWorkdir StatusShow = C.GIT_STATUS_SHOW_INDEX_AND_WORKDIR StatusShowIndexAndWorkdir StatusShow = C.GIT_STATUS_SHOW_INDEX_AND_WORKDIR
StatusShowIndexOnly = C.GIT_STATUS_SHOW_INDEX_ONLY StatusShowIndexOnly StatusShow = C.GIT_STATUS_SHOW_INDEX_ONLY
StatusShowWorkdirOnly = C.GIT_STATUS_SHOW_WORKDIR_ONLY StatusShowWorkdirOnly StatusShow = C.GIT_STATUS_SHOW_WORKDIR_ONLY
) )
type StatusOptions struct { type StatusOptions struct {

View File

@ -21,47 +21,47 @@ type SubmoduleUpdate int
const ( const (
SubmoduleUpdateReset SubmoduleUpdate = C.GIT_SUBMODULE_UPDATE_RESET SubmoduleUpdateReset SubmoduleUpdate = C.GIT_SUBMODULE_UPDATE_RESET
SubmoduleUpdateCheckout = C.GIT_SUBMODULE_UPDATE_CHECKOUT SubmoduleUpdateCheckout SubmoduleUpdate = C.GIT_SUBMODULE_UPDATE_CHECKOUT
SubmoduleUpdateRebase = C.GIT_SUBMODULE_UPDATE_REBASE SubmoduleUpdateRebase SubmoduleUpdate = C.GIT_SUBMODULE_UPDATE_REBASE
SubmoduleUpdateMerge = C.GIT_SUBMODULE_UPDATE_MERGE SubmoduleUpdateMerge SubmoduleUpdate = C.GIT_SUBMODULE_UPDATE_MERGE
SubmoduleUpdateNone = C.GIT_SUBMODULE_UPDATE_NONE SubmoduleUpdateNone SubmoduleUpdate = C.GIT_SUBMODULE_UPDATE_NONE
) )
type SubmoduleIgnore int type SubmoduleIgnore int
const ( const (
SubmoduleIgnoreReset SubmoduleIgnore = C.GIT_SUBMODULE_IGNORE_RESET SubmoduleIgnoreReset SubmoduleIgnore = C.GIT_SUBMODULE_IGNORE_RESET
SubmoduleIgnoreNone = C.GIT_SUBMODULE_IGNORE_NONE SubmoduleIgnoreNone SubmoduleIgnore = C.GIT_SUBMODULE_IGNORE_NONE
SubmoduleIgnoreUntracked = C.GIT_SUBMODULE_IGNORE_UNTRACKED SubmoduleIgnoreUntracked SubmoduleIgnore = C.GIT_SUBMODULE_IGNORE_UNTRACKED
SubmoduleIgnoreDirty = C.GIT_SUBMODULE_IGNORE_DIRTY SubmoduleIgnoreDirty SubmoduleIgnore = C.GIT_SUBMODULE_IGNORE_DIRTY
SubmoduleIgnoreAll = C.GIT_SUBMODULE_IGNORE_ALL SubmoduleIgnoreAll SubmoduleIgnore = C.GIT_SUBMODULE_IGNORE_ALL
) )
type SubmoduleStatus int type SubmoduleStatus int
const ( const (
SubmoduleStatusInHead SubmoduleStatus = C.GIT_SUBMODULE_STATUS_IN_HEAD SubmoduleStatusInHead SubmoduleStatus = C.GIT_SUBMODULE_STATUS_IN_HEAD
SubmoduleStatusInIndex = C.GIT_SUBMODULE_STATUS_IN_INDEX SubmoduleStatusInIndex SubmoduleStatus = C.GIT_SUBMODULE_STATUS_IN_INDEX
SubmoduleStatusInConfig = C.GIT_SUBMODULE_STATUS_IN_CONFIG SubmoduleStatusInConfig SubmoduleStatus = C.GIT_SUBMODULE_STATUS_IN_CONFIG
SubmoduleStatusInWd = C.GIT_SUBMODULE_STATUS_IN_WD SubmoduleStatusInWd SubmoduleStatus = C.GIT_SUBMODULE_STATUS_IN_WD
SubmoduleStatusIndexAdded = C.GIT_SUBMODULE_STATUS_INDEX_ADDED SubmoduleStatusIndexAdded SubmoduleStatus = C.GIT_SUBMODULE_STATUS_INDEX_ADDED
SubmoduleStatusIndexDeleted = C.GIT_SUBMODULE_STATUS_INDEX_DELETED SubmoduleStatusIndexDeleted SubmoduleStatus = C.GIT_SUBMODULE_STATUS_INDEX_DELETED
SubmoduleStatusIndexModified = C.GIT_SUBMODULE_STATUS_INDEX_MODIFIED SubmoduleStatusIndexModified SubmoduleStatus = C.GIT_SUBMODULE_STATUS_INDEX_MODIFIED
SubmoduleStatusWdUninitialized = C.GIT_SUBMODULE_STATUS_WD_UNINITIALIZED SubmoduleStatusWdUninitialized SubmoduleStatus = C.GIT_SUBMODULE_STATUS_WD_UNINITIALIZED
SubmoduleStatusWdAdded = C.GIT_SUBMODULE_STATUS_WD_ADDED SubmoduleStatusWdAdded SubmoduleStatus = C.GIT_SUBMODULE_STATUS_WD_ADDED
SubmoduleStatusWdDeleted = C.GIT_SUBMODULE_STATUS_WD_DELETED SubmoduleStatusWdDeleted SubmoduleStatus = C.GIT_SUBMODULE_STATUS_WD_DELETED
SubmoduleStatusWdModified = C.GIT_SUBMODULE_STATUS_WD_MODIFIED SubmoduleStatusWdModified SubmoduleStatus = C.GIT_SUBMODULE_STATUS_WD_MODIFIED
SubmoduleStatusWdIndexModified = C.GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED SubmoduleStatusWdIndexModified SubmoduleStatus = C.GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED
SubmoduleStatusWdWdModified = C.GIT_SUBMODULE_STATUS_WD_WD_MODIFIED SubmoduleStatusWdWdModified SubmoduleStatus = C.GIT_SUBMODULE_STATUS_WD_WD_MODIFIED
SubmoduleStatusWdUntracked = C.GIT_SUBMODULE_STATUS_WD_UNTRACKED SubmoduleStatusWdUntracked SubmoduleStatus = C.GIT_SUBMODULE_STATUS_WD_UNTRACKED
) )
type SubmoduleRecurse int type SubmoduleRecurse int
const ( const (
SubmoduleRecurseNo SubmoduleRecurse = C.GIT_SUBMODULE_RECURSE_NO SubmoduleRecurseNo SubmoduleRecurse = C.GIT_SUBMODULE_RECURSE_NO
SubmoduleRecurseYes = C.GIT_SUBMODULE_RECURSE_YES SubmoduleRecurseYes SubmoduleRecurse = C.GIT_SUBMODULE_RECURSE_YES
SubmoduleRecurseOndemand = C.GIT_SUBMODULE_RECURSE_ONDEMAND SubmoduleRecurseOndemand SubmoduleRecurse = C.GIT_SUBMODULE_RECURSE_ONDEMAND
) )
func SubmoduleStatusIsUnmodified(status int) bool { func SubmoduleStatusIsUnmodified(status int) bool {

View File

@ -17,9 +17,9 @@ type SortType uint
const ( const (
SortNone SortType = C.GIT_SORT_NONE SortNone SortType = C.GIT_SORT_NONE
SortTopological = C.GIT_SORT_TOPOLOGICAL SortTopological SortType = C.GIT_SORT_TOPOLOGICAL
SortTime = C.GIT_SORT_TIME SortTime SortType = C.GIT_SORT_TIME
SortReverse = C.GIT_SORT_REVERSE SortReverse SortType = C.GIT_SORT_REVERSE
) )
type RevWalk struct { type RevWalk struct {