Make the constants have types

While Go will assign the correct type to a const block when it
auto-creates the values, assigning makes the const be typeless and will
only gain it in each particular use.

Make each constant in the blocks have an assigned type.
This commit is contained in:
Carlos Martín Nieto 2014-10-27 15:12:18 +01:00
parent 9c6db70fc2
commit 668aa5dae1
14 changed files with 197 additions and 197 deletions

View File

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

View File

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

View File

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

82
diff.go
View File

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

86
git.go
View File

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

View File

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

View File

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

View File

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

View File

@ -40,19 +40,19 @@ type ConnectDirection uint
const (
RemoteCompletionDownload RemoteCompletion = C.GIT_REMOTE_COMPLETION_DOWNLOAD
RemoteCompletionIndexing = C.GIT_REMOTE_COMPLETION_INDEXING
RemoteCompletionError = C.GIT_REMOTE_COMPLETION_ERROR
RemoteCompletionIndexing RemoteCompletion = C.GIT_REMOTE_COMPLETION_INDEXING
RemoteCompletionError RemoteCompletion = C.GIT_REMOTE_COMPLETION_ERROR
ConnectDirectionFetch ConnectDirection = C.GIT_DIRECTION_FETCH
ConnectDirectionPush = C.GIT_DIRECTION_PUSH
ConnectDirectionPush ConnectDirection = C.GIT_DIRECTION_PUSH
)
type TransportMessageCallback func(str string) int
type CompletionCallback func(RemoteCompletion) int
type CredentialsCallback func(url string, username_from_url string, allowed_types CredType) (int, *Cred)
type TransferProgressCallback func(stats TransferProgress) int
type UpdateTipsCallback func(refname string, a *Oid, b *Oid) int
type CertificateCheckCallback func(cert *Certificate, valid bool, hostname string) int
type TransportMessageCallback func(str string) ErrorCode
type CompletionCallback func(RemoteCompletion) ErrorCode
type CredentialsCallback func(url string, username_from_url string, allowed_types CredType) (ErrorCode, *Cred)
type TransferProgressCallback func(stats TransferProgress) ErrorCode
type UpdateTipsCallback func(refname string, a *Oid, b *Oid) ErrorCode
type CertificateCheckCallback func(cert *Certificate, valid bool, hostname string) ErrorCode
type RemoteCallbacks struct {
SidebandProgressCallback TransportMessageCallback
@ -72,7 +72,7 @@ type CertificateKind uint
const (
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
@ -89,7 +89,7 @@ type HostkeyKind uint
const (
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
@ -129,7 +129,7 @@ func sidebandProgressCallback(_str *C.char, _len C.int, data unsafe.Pointer) int
return 0
}
str := C.GoStringN(_str, _len)
return callbacks.SidebandProgressCallback(str)
return int(callbacks.SidebandProgressCallback(str))
}
//export completionCallback
@ -138,7 +138,7 @@ func completionCallback(completion_type C.git_remote_completion_type, data unsaf
if callbacks.CompletionCallback == nil {
return 0
}
return callbacks.CompletionCallback((RemoteCompletion)(completion_type))
return int(callbacks.CompletionCallback(RemoteCompletion(completion_type)))
}
//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)
ret, cred := callbacks.CredentialsCallback(url, username_from_url, (CredType)(allowed_types))
*_cred = cred.ptr
return ret
return int(ret)
}
//export transferProgressCallback
@ -160,7 +160,7 @@ func transferProgressCallback(stats *C.git_transfer_progress, data unsafe.Pointe
if callbacks.TransferProgressCallback == nil {
return 0
}
return callbacks.TransferProgressCallback(newTransferProgressFromC(stats))
return int(callbacks.TransferProgressCallback(newTransferProgressFromC(stats)))
}
//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)
a := newOidFromC(_a)
b := newOidFromC(_b)
return callbacks.UpdateTipsCallback(refname, a, b)
return int(callbacks.UpdateTipsCallback(refname, a, b))
}
//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 callbacks.CertificateCheckCallback(&cert, valid, host)
return int(callbacks.CertificateCheckCallback(&cert, valid, host))
}
func RemoteIsValidName(name string) bool {

View File

@ -46,7 +46,7 @@ func TestListRemotes(t *testing.T) {
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" {
t.Fatal("Hostname does not match")
return ErrUser
@ -64,7 +64,7 @@ func TestCertificateCheck(t *testing.T) {
checkFatal(t, err)
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)
},
}

View File

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

View File

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

View File

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

View File

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