Merge branch 'master' of https://github.com/src-d/go-git into fix/checkout-empty-repo
diff --git a/worktree.go b/worktree.go
index 67d7f08..152570c 100644
--- a/worktree.go
+++ b/worktree.go
@@ -140,6 +140,13 @@
return err
}
+ c, err := w.getCommitFromCheckoutOptions(opts)
+ if err == plumbing.ErrReferenceNotFound {
+ h := plumbing.NewSymbolicReference(plumbing.HEAD, opts.Branch)
+ w.r.Storer.SetReference(h)
+ return nil
+ }
+
if opts.Create {
if err := w.createBranch(opts); err != nil {
return err
@@ -157,11 +164,6 @@
}
}
- c, err := w.getCommitFromCheckoutOptions(opts)
- if err != nil {
- return err
- }
-
ro := &ResetOptions{Commit: c, Mode: MergeReset}
if opts.Force {
ro.Mode = HardReset