dosubot[bot] commented on issue #7533:
URL:
https://github.com/apache/incubator-devlake/issues/7533#issuecomment-2136115243
<!-- Answer -->
Given that setting the `GITHUB_AUTH_TOKEN` and `NO_SHALLOW_CLONE`
environment variables did not resolve the issue, let's explore additional steps
to troubleshoot and resolve the cloning error.
1. **Check Network and Firewall Settings**:
Ensure that there are no network or firewall restrictions that might be
blocking the connection to GitHub. Since the onboarding tool successfully pulls
the list of projects, this is less likely but still worth verifying.
2. **Increase Timeout and Retry Settings**:
Sometimes, increasing the timeout and retry settings can help with
network-related issues. You can try increasing the `API_TIMEOUT` and
`API_RETRY` values in your `.env` file:
```env
API_TIMEOUT=300s
API_RETRY=5
```
3. **Enable Detailed Logging**:
Enable detailed logging to get more insights into what might be going
wrong. Set the `LOGGING_LEVEL` to `Debug` in your `.env` file:
```env
LOGGING_LEVEL=Debug
```
4. **Verify Git Configuration**:
Ensure that the Git configuration used by DevLake is correct. You can set
the `GIT_SSH_COMMAND` environment variable to use a specific SSH command with
options like private key file and disabling strict host key checking. This can
be done in your `.env` file:
```env
GIT_SSH_COMMAND="ssh -i /path/to/private/key -o StrictHostKeyChecking=no"
```
5. **Check for Specific Error Codes**:
The error `exit status 128` can be caused by various issues. Here are
some specific error codes and their meanings:
- **"stderr: fatal: error processing shallow info: 4"**: Indicates a
problem with processing shallow clone information.
- **"stderr: fatal: the remote end hung up unexpectedly"**: Indicates
that the remote server unexpectedly closed the connection.
6. **Use Full Clone Instead of Shallow Clone**:
Since setting `NO_SHALLOW_CLONE` did not help, ensure that the
configuration is correctly applied. You can also try explicitly setting the
`NoShallowClone` option in the relevant part of the code or configuration file:
```go
type CloneRepoConfig struct {
UseGoGit *bool
SkipCommitStat *bool
SkipCommitFiles *bool
NoShallowClone bool
}
```
7. **Review GitHub Token Scopes**:
Double-check that the GitHub personal access token (PAT) includes the
necessary scopes: `repo`, `read:user`, and `read:org`. Ensure that the token is
not expired and has the correct permissions.
8. **Proxy Configuration**:
If you are behind a proxy, ensure that the proxy settings are correctly
configured in your `.env` file:
```env
HTTPS_PROXY=http://your-proxy-server:port
```
By following these steps, you should be able to gather more information and
potentially resolve the issue with cloning private GitHub repositories in
DevLake. If the problem persists, the detailed logs should provide more
insights into the root cause.
@klesh, could you step in and provide your guidance?
<!-- Dosu Comment Footer -->
<details>
<summary>
#### Details
</summary>
**About Dosu**
This response is meant to be useful and save you time. It is **not meant to
be a precise solution**, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is
irrelevant.
</details>
*To continue the conversation, mention @dosu.*
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]