iceberg
iceberg copied to clipboard
Give more informations in errors
I just got this error:
IceGenericError: GitLab: The project you were looking for could not be found.
My problem is that I am trying to load a project with a lot of dependencies and I don't know which one is wrong. It would be cool to add information about the faulty project in the error.
Stack to localize the error:
IceLibgitErrorVisitor>>visitGenericError:
IceLibgitErrorVisitor>>visitEEOF:
LGit_GIT_EEOF>>acceptError:
[ :error |
location exists
ifTrue: [ location ensureDeleteAll ].
error acceptError: (IceLibgitErrorVisitor onContext: self) ] in IceGitClone>>execute in Block: [ :error | ...
BlockClosure>>cull:
Context>>evaluateSignal:
Context>>handleSignal:
LGit_GIT_EEOF(Exception)>>signal
LGit_GIT_EEOF class(LGitCallReturnHandler class)>>signalWith:
LGitReturnCodeEnum>>handleLGitReturnCode
LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
LGitRepository>>clone:options:to:
LGitRepository>>clone:options:
[ location ensureCreateDirectory.
repo := LGitRepository on: location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: (IceCredentialsProvider defaultForRemoteUrl: url).
cloneOptions checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_force.
repo clone: url options: cloneOptions.
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceGitClone>>execute in Block: [ location ensureCreateDirectory....
BlockClosure>>on:do:
IceGitClone>>execute
IceRepositoryCreator>>cloneRepository
[ self validate.
self isCloning
ifTrue: [ self cloneRepository ]
ifFalse: [ self addLocalRepository ] ] in IceRepositoryCreator>>createRepository in Block: [ self validate....
BlockClosure>>on:do:
IceRepositoryCreator>>createRepository
[ repository := builder createRepository ] in MCGitlabRepository(MCGitBasedNetworkRepository)>>createIcebergRepositoryFor: in Block: [ repository := builder createRepository ]
BlockClosure>>on:do:
MCGitlabRepository(MCGitBasedNetworkRepository)>>createIcebergRepositoryFor:
[ ^ self createIcebergRepositoryFor: urlToUse ] in MCGitlabRepository(MCGitBasedNetworkRepository)>>createIcebergRepositoryWithFallbackFor:url: in Block: [ ^ self createIcebergRepositoryFor: urlToUse ]
BlockClosure>>on:do:
MCGitlabRepository(MCGitBasedNetworkRepository)>>createIcebergRepositoryWithFallbackFor:url:
[ | remote |
remote := IceGitRemote url: remoteUrl.
self createIcebergRepositoryWithFallbackFor: remote url: remoteUrl ] in MCGitlabRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository in Block: [ | remote |...
OrderedCollection(Collection)>>detect:ifFound:ifNone:
OrderedCollection(Collection)>>detect:ifNone:
MCGitlabRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository
(I know we can find the infos in the stack but it would help to get it directly in the error)
We got the error below in our CI. The problem is that we don't know which repository this branch/commit is in. It would be really helpful if the error message would also contain any info about the repository.
[0mIceGitCommit(IceCommit)>>validateIsBranch
IceLibgitRepository(IceRepository)>>branch
IceLibgitRepository(IceRepository)>>branchName
GtRlDedicatedBranchReleaseStrategy>>initializeFor:fromConfiguration:```