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 ( 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 {