- commit
- 736f1f6037f2f5eb1e738c06afcb07e6ea0e9a91
- parent
- 2c61af0831f94d0570cf114cf46224188750294f
- author
- Dami <dami.etoile@gmail.com>
| M | internal/ | 3 | ++- |
| M | internal/ | 7 | +++++++ |
@@ -168,7 +168,8 @@ func saveCmd(s *sheet.Sheet, name, path string, expect *stamp) tea.Cmd {
168168 if err != nil {169169 return savedMsg{name: name, err: err}170170 }171- if expect != nil && !diskStamp(path).equal(*expect) {171+ // A file deleted meanwhile is simply written again.172+ if now := diskStamp(path); expect != nil && now != (stamp{}) && !now.equal(*expect) {172173 return savedMsg{name: name, conflict: true}173174 }174175 if err := writeAtomic(path, buf.String()); err != nil {@@ -153,6 +153,13 @@ func TestSaveAsksWhenFileChanged(t *testing.T) {
153153 t.Errorf("save after overwrite: overlay %T changed %v", m.overlay, m.changed)154154 }155155 156+ // A file deleted meanwhile is written again without asking.157+ os.Remove("book.012")158+ press(t, m, "<up>", "back", "<enter>", "<ctrl+s>")159+ if got, _ := readSheet("book.012"); m.overlay != nil || a1Of(got) != "back" {160+ t.Errorf("save after delete: overlay %T, A1 on disk %q", m.overlay, a1Of(got))161+ }162+156163 // Quitting with Save and quit waits for the answer, then quits.157164 writeSheet(t, "book.012", "theirs again, longer")158165 press(t, m, "<up>", "last", "<enter>")