Skip to content

Commit

Permalink
cli: Fix issue with pulumi new and unstaged files
Browse files Browse the repository at this point in the history
  • Loading branch information
justinvp authored and Frassle committed Oct 27, 2022
1 parent 159988d commit 487d1a0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
changes:
- type: fix
scope: cli
description: Hard reset the templates checkout to work around a go-git issue with ignored files.
10 changes: 10 additions & 0 deletions sdk/go/common/util/gitutil/git.go
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,16 @@ func gitCloneOrPull(url string, referenceName plumbing.ReferenceName, path strin
return err
}

// There are cases where go-git gets confused about files that were included in .gitignore
// and then later removed from .gitignore and added to the repository, leaving unstaged
// changes in the working directory after a pull. To address this, we'll first do a hard
// reset of the worktree before pulling to ensure it's in a good state.
if err := w.Reset(&git.ResetOptions{
Mode: git.HardReset,
}); err != nil {
return err
}

if cloneErr = w.Pull(&git.PullOptions{
ReferenceName: referenceName,
SingleBranch: true,
Expand Down

0 comments on commit 487d1a0

Please sign in to comment.