Commit Graph

6536 Commits

Author SHA1 Message Date
Kiril Videlov
34d12fb1e6
add snapshotting tests 2024-04-28 20:05:46 +02:00
Kiril Videlov
9b0661e7db
Merge pull request from gitbutlerapp/update-oplog-and-target-heads
feat: Add tests for updating the oplog head and target head
2024-04-28 12:21:34 +02:00
Kiril Videlov
b0e0fc790c
feat: Add tests for updating the oplog head and target head 2024-04-28 12:08:32 +02:00
Kiril Videlov
ca33269197
Merge pull request from gitbutlerapp/set-target-ref-to-oplog
test: Add tests for set_reference_to_oplog function
2024-04-27 23:56:40 +02:00
Kiril Videlov
6ff0d551eb
fix test 2024-04-27 23:43:25 +02:00
Kiril Videlov
d65f723ec0
test: Add tests for set_reference_to_oplog function 2024-04-27 23:27:39 +02:00
Kiril Videlov
470f89de01
Merge pull request from gitbutlerapp/add-windows-fs-write-support
skip tempfile under windows
2024-04-27 18:39:59 +02:00
Kiril Videlov
8b0dd6cc21 skip tempfile under windows 2024-04-27 17:15:08 +02:00
Kiril Videlov
15bce07c2a
Merge pull request from Byron/no-tempfiles-on-windows
sync-all on Windows
2024-04-27 16:37:28 +02:00
Sebastian Thiel
4f58883bd4
try to fix regression on Windows due to tempfiles semantics ()
Until `perist()` is truly atomic also on Windows, and modelled
[after Git](https://github.com/git/git/blob/master/compat/mingw.c#L2159-L2209),
sans the retries, it seems to work to just perform ordinary writes.

Before going there though, we try to call `sync_all()` on Windows to truly
finish the operation. On Unix, a rename is already supposed to be atomic.
2024-04-27 16:11:28 +02:00
Sebastian Thiel
91d892882e
Deduplicate all 'write' code
GB writes files atomically and in the end it boils down to allocating bytes
and writing them all at once.

Now this capability lives in the `fs` module.
2024-04-27 16:11:27 +02:00
Kiril Videlov
415d090d37
Merge pull request from gitbutlerapp/undo-snapshots-add-types
undo snapshots - add types
2024-04-26 23:51:32 +02:00
Kiril Videlov
88c5fa249b updated ui structs for snapshots 2024-04-26 23:34:09 +02:00
Kiril Videlov
9d534b09ca
snapshots - read full commit meesage 2024-04-26 23:33:39 +02:00
Kiril Videlov
5420fc3e3c
use new snapshot types 2024-04-26 23:20:31 +02:00
Kiril Videlov
371a944e71
add types for the different kinds of snapshots
Serializing and deserializing snapshot trailers
2024-04-26 22:35:09 +02:00
Pavel Laptev
06240b3e78
CSS: Button and Tag fixes () 2024-04-26 16:08:13 +02:00
Pavel Laptev
720dbfc875
Small CSS Updates ()
* badge changes

* fix branches dragging
2024-04-26 13:45:35 +02:00
Josh Junon
847f820922
Merge pull request from gitbutlerapp/mod-rs-single-file
move multi-file modules to mod.rs and single-file modules to <name>.rs
2024-04-26 12:09:39 +02:00
Josh Junon
adcba68220
move multi-file modules to mod.rs and single-file modules to <name>.rs 2024-04-26 11:56:35 +02:00
Sebastian Thiel
9ca8f45a68
Merge pull request from Byron/copy-less
use iterators and avoid copies
2024-04-26 07:21:30 +02:00
Sebastian Thiel
a08e2be07e
OwnershipClaims now allocates less
This is done by allowing to take (rust) ownership where internally
the item is consumed.
2024-04-26 07:08:43 +02:00
Sebastian Thiel
6c90381bcf
Use iterators for transformation, and avoid copies by default. 2024-04-26 07:08:41 +02:00
Sebastian Thiel
9dddd77899
Make it more obvious to devs how to make core tests pass.
Now a binary is required which might not always be present, nor is
it created as pre-requisite of the test.

Until that is the case, say how this can be fixed.
2024-04-26 07:07:44 +02:00
Mattias Granlund
a91153aff3 Fix lock tooltip closure shadowing commit variable 2024-04-26 00:06:01 +02:00
Mattias Granlund
311a582a8c Minimise range in double lock test
todo: figure out why we can't use only three lines in this test
2024-04-26 00:06:01 +02:00
Mattias Granlund
c5c2df1b93 Surface warning if hunk locked to multiple branches
- now returning `HunkLock` to front end
- detect if locked to more than one branch and warn user
2024-04-26 00:06:01 +02:00
Sebastian Thiel
ff44a80e74
Merge pull request from Byron/win-fixes
Revert 74eb7bd3 as debounce-timing has no effect ()
2024-04-25 22:07:37 +02:00
Kiril Videlov
b1d03995b7
Merge pull request from gitbutlerapp/implement-mvp-of-undo-stack
implement mvp of undo stack
2024-04-25 22:00:34 +02:00
Kiril Videlov
fd1ac5d65b
improved snapshot labels 2024-04-25 21:44:30 +02:00
Kiril Videlov
33859c89ef
adds some documentation 2024-04-25 21:09:02 +02:00
Kiril Videlov
bedc918b84
simplify reflog reference setting 2024-04-25 20:51:24 +02:00
Kiril Videlov
24a357e3c7 add some basic UI for the undo
activated with Cmd+shift+H
2024-04-25 19:23:13 +02:00
Kiril Videlov
9a499575c4 fixes a bug with the reflog editing 2024-04-25 19:23:13 +02:00
Kiril Videlov
4c92caafd4 create simple snapshots on branch operations 2024-04-25 19:23:13 +02:00
Kiril Videlov
9a07f50244 fix: correctly handle the case of the feature flag being absent 2024-04-25 19:23:13 +02:00
Kiril Videlov
b3c05b7948 fix signatures 2024-04-25 19:23:13 +02:00
Kiril Videlov
432aeeaf2a feature flag for snapshot creation 2024-04-25 19:23:13 +02:00
Kiril Videlov
753953a7d5 remove tauri endpoint for creating snapshots 2024-04-25 19:23:13 +02:00
Kiril Videlov
5e395a3700 snapshot reflog doesnt need to be exposed 2024-04-25 19:23:13 +02:00
Kiril Videlov
3d04c7fc5b set target ref on snapshot 2024-04-25 19:23:13 +02:00
Kiril Videlov
0911212a9c handle commit not found 2024-04-25 19:23:13 +02:00
Kiril Videlov
ca4f79f7ff reflog entry for the snapshots 2024-04-25 19:23:13 +02:00
Kiril Videlov
a2682e2535 implement undo stack snapshotting 2024-04-25 19:23:13 +02:00
Mattias Granlund
cac2b6a80b
Merge pull request from gitbutlerapp/Fix-bug-where-sometimes-lock-commit-info-is-unavailable
Look up locked commit from remote commits as well
2024-04-25 19:22:11 +02:00
Mattias Granlund
ebc696ad26 Look up locked commit from remote commits as well
- also filters for unique commits, should really be done in the back end
2024-04-25 19:07:41 +02:00
Sebastian Thiel
066d520f1a less cumbersome error handling for Git errors 2024-04-25 16:42:11 +02:00
Mattias Granlund
e0c2d82127 Reset files into the same branch they were committted to
- regressed when switching to blame for hunk locking
2024-04-25 16:42:11 +02:00
Sebastian Thiel
116f5d02bc
Revert 74eb7bd3 as debounce-timing has no effect ()
This probably means the raciness is not due concurrency introduced by filesystem events,
which leads me to think that having great 'disk-IO-hygiene` should improve things.'
2024-04-25 16:33:55 +02:00
Mattias Granlund
44c64565a2 Add test to ensure hunks can lock across branches
- makes no assertions about how the hunk is displayed
2024-04-25 16:06:03 +02:00