Fix bd sync git pull command to be explicit about remote and branch
This commit is contained in:
@@ -323,7 +323,25 @@ func gitCommit(ctx context.Context, filePath string, message string) error {
|
|||||||
|
|
||||||
// gitPull pulls from the current branch's upstream
|
// gitPull pulls from the current branch's upstream
|
||||||
func gitPull(ctx context.Context) error {
|
func gitPull(ctx context.Context) error {
|
||||||
cmd := exec.CommandContext(ctx, "git", "pull")
|
// Get current branch name
|
||||||
|
branchCmd := exec.CommandContext(ctx, "git", "rev-parse", "--abbrev-ref", "HEAD")
|
||||||
|
branchOutput, err := branchCmd.Output()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to get current branch: %w", err)
|
||||||
|
}
|
||||||
|
branch := strings.TrimSpace(string(branchOutput))
|
||||||
|
|
||||||
|
// Get remote name for current branch (usually "origin")
|
||||||
|
remoteCmd := exec.CommandContext(ctx, "git", "config", "--get", fmt.Sprintf("branch.%s.remote", branch))
|
||||||
|
remoteOutput, err := remoteCmd.Output()
|
||||||
|
if err != nil {
|
||||||
|
// If no remote configured, default to "origin"
|
||||||
|
remoteOutput = []byte("origin\n")
|
||||||
|
}
|
||||||
|
remote := strings.TrimSpace(string(remoteOutput))
|
||||||
|
|
||||||
|
// Pull with explicit remote and branch
|
||||||
|
cmd := exec.CommandContext(ctx, "git", "pull", remote, branch)
|
||||||
output, err := cmd.CombinedOutput()
|
output, err := cmd.CombinedOutput()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("git pull failed: %w\n%s", err, output)
|
return fmt.Errorf("git pull failed: %w\n%s", err, output)
|
||||||
|
|||||||
Reference in New Issue
Block a user