Commit Graph

6772 Commits

Author SHA1 Message Date
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 #3597 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 #3607 from Byron/win-fixes
Revert 74eb7bd3 as debounce-timing has no effect (#3601)
2024-04-25 22:07:37 +02:00
Kiril Videlov
b1d03995b7
Merge pull request #3608 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 #3609 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 (#3601)
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
Mattias Granlund
d79b126c59 Remove repetition in create_commit.rs test code 2024-04-25 16:06:03 +02:00
Josh Junon
812b4ea27c
Merge pull request #3603 from Byron/windows-improvements
windows improvements
2024-04-25 12:23:26 +02:00
Sebastian Thiel
29525ffd03
address review comments
- rename feature to `windows`
- remove unused config key from `Cargo.toml`, unfortunately `cfg` isn't available for everything
- make sure feature is toggled on on CI when checking and when publishing
2024-04-25 11:29:24 +02:00
Sebastian Thiel
3058ffbc9b
avoid showing colors in Windows logs (#3601)
People can't copy it without the terminal-escape code, making it harder to read.
2024-04-25 08:19:59 +02:00
Sebastian Thiel
74eb7bd397
on Windows, update far less often on filesystem changes. (#3601)
By increasing the window size for collecting filesystem events,
knowing that each event is processed in parallel, we might be lucky
and that already reduces the likelyhood of clashes.

It's an experiment though.

On Unix, run with:

`LOG_LEVEL=debug pnpm tauri dev --features adapt-to-windows`
2024-04-25 08:17:11 +02:00
Kiril Videlov
bb48dff72a project deleteion cleans up virtual_branches.toml 2024-04-24 17:50:39 +02:00
Pavel Laptev
65f2dc1fa5
fix: didn't show error comes from Rust (#3599) 2024-04-24 17:20:15 +02:00
Josh Junon
40f7234708
Merge pull request #3596 from Byron/fix-mode-windows
avoid to make files executable on Windows (#3329).
2024-04-24 16:23:35 +02:00
Josh Junon
f92c94ff46 build gitbutler-git binaries prior to tests 2024-04-24 16:13:05 +02:00
Sebastian Thiel
a46de60d10 make tests work
This is accomplished by settig the test-feature when running `core` tests.
There is also a safeguard to help assuring this doesn't land in production.
2024-04-24 16:13:05 +02:00
Kiril Videlov
7f4aec50cf make git system executable the default auth flow 2024-04-24 16:13:05 +02:00
Sebastian Thiel
34770a4b77
avoid forcefully making files executable on Windows (#3329).
Instead, respect the existing bit if set in Git, but do not try
to derive it from the filesystem which is something Git doesn't
seem to be doing on Windows either.

This also makes me think that `gitoxide` should make it easy
to build a tree from a file and deal with this.
2024-04-24 15:14:22 +02:00
ndom91
0f7f1dd791
fix: cleanup flake.nix and add node deps 2024-04-24 13:52:58 +02:00
Sebastian Thiel
6033a62a94 use gix::tempfile in place of the tempfile.
This allows to unify handling of filewrites in more places.
2024-04-24 13:14:20 +02:00
Sebastian Thiel
813ba8f2d6
Merge pull request #3593 from Byron/locks-for-writers
use tempfiles for file mutations
2024-04-24 10:55:10 +02:00
Sebastian Thiel
6665bc9289
Use a temp-file to write new content atomically in storage layer (#2807)
This will prevent half-written content on disk in case the write is interrupted.

Lock files are *not* used as the assumption is that a lock is held centrally.
2024-04-24 10:38:48 +02:00
Mattias Granlund
90cf617a4f Add test for locking hunk to two different commits 2024-04-24 08:15:01 +01:00
Mattias Granlund
5134460875 Tighten locking tests
- with blame based lock a change can touch a committed line, but not overlap
2024-04-24 08:15:01 +01:00
Mattias Granlund
c202d83b6b Allow hunk locking to multiple commits
- adds `locked_to` field to `GitHunk` to avoid looking it up again
- sends array to ui instead of single commit id
2024-04-24 08:15:01 +01:00