| 1277 | } |
| 1278 | |
| 1279 | func (s *WorktreeSuite) TestResetMerge(c *C) { |
| 1280 | fs := memfs.New() |
| 1281 | w := &Worktree{ |
| 1282 | r: s.Repository, |
| 1283 | Filesystem: fs, |
| 1284 | } |
| 1285 | |
| 1286 | commitA := plumbing.NewHash("918c48b83bd081e863dbe1b80f8998f058cd8294") |
| 1287 | commitB := plumbing.NewHash("35e85108805c84807bc66a02d91535e1e24b38b9") |
| 1288 | |
| 1289 | err := w.Checkout(&CheckoutOptions{}) |
| 1290 | c.Assert(err, IsNil) |
| 1291 | |
| 1292 | err = w.Reset(&ResetOptions{Mode: MergeReset, Commit: commitA}) |
| 1293 | c.Assert(err, IsNil) |
| 1294 | |
| 1295 | branch, err := w.r.Reference(plumbing.Master, false) |
| 1296 | c.Assert(err, IsNil) |
| 1297 | c.Assert(branch.Hash(), Equals, commitA) |
| 1298 | |
| 1299 | f, err := fs.Create(".gitignore") |
| 1300 | c.Assert(err, IsNil) |
| 1301 | _, err = f.Write([]byte("foo")) |
| 1302 | c.Assert(err, IsNil) |
| 1303 | err = f.Close() |
| 1304 | c.Assert(err, IsNil) |
| 1305 | |
| 1306 | err = w.Reset(&ResetOptions{Mode: MergeReset, Commit: commitB}) |
| 1307 | c.Assert(err, Equals, ErrUnstagedChanges) |
| 1308 | |
| 1309 | branch, err = w.r.Reference(plumbing.Master, false) |
| 1310 | c.Assert(err, IsNil) |
| 1311 | c.Assert(branch.Hash(), Equals, commitA) |
| 1312 | } |
| 1313 | |
| 1314 | func (s *WorktreeSuite) TestResetHard(c *C) { |
| 1315 | fs := memfs.New() |