Sebastian Thiel
9bbba057f4
fix some typos that could be user-facing
2024-04-23 11:32:53 +02:00
Josh Junon
31ce4574bd
Merge pull request #3575 from gitbutlerapp/Fix-Gitea
...
Allow SSH remotes to use any port
2024-04-22 11:47:04 +02:00
Sebastian Thiel
b60d49f752
a clear error message when bare repositories are encountered and rejected ( #2704 )
...
This also rewrites some other checks in preference of opening the git directory
in isolation. Doing so is very fast, and the only way to know for certain if a
repository is bare.
In future, once the repository is more separated from the worktree (in terms of mindset)
it should be possible to handle bare repos with worktrees as well.
2024-04-22 11:01:07 +02:00
Sebastian Thiel
a5bda226ef
provide better errors when adding a project ( #2608 )
...
The issue initially was that the wrapping of anyhow around a `thiserror`
type, which is when manually added context gets lost as there is no way
to downcast such an `anyhow` error back to a concrete type without
wanting to know it.
The solution was to remove the intermediate `thiserror` type which didn't
serve an actual purpose.
2024-04-22 10:59:03 +02:00
Caleb Owens
76556eb6c8
Remove useless reference
2024-04-21 22:45:00 +01:00
Caleb Owens
5c74cc79b5
Allow SSH remotes to use any port
2024-04-21 19:32:02 +01:00
Sebastian Thiel
f4a8aa5592
flyby refactor to do a little less copying
2024-04-21 11:35:26 +02:00
Sebastian Thiel
568d35fa90
refactor
...
- assure that `repository` can't be misused in `hunks_by_filepath()`.
- Use more obvious enumeration to describe and match on lines
- make clear that diff_lines can be a hash
- avoid multiple hashmasps if one would do
- `Hunk::hash_diff` now uses lines with terminator to be close to being a true content hash. This was probably intended by the code originally.
2024-04-21 11:35:26 +02:00
Sebastian Thiel
04bcf3b8b2
adjust Hunk::hash_diff()
to produce unique hashes based on input.
...
The input is variable and maybe empty, maybe a diff header followed
by diff-lines, and it could be an SHA1 of a binary file, which now is
hashed like any other content.
2024-04-21 11:35:26 +02:00
Sebastian Thiel
be4cd36986
clarify some TODOs to avoid keeping them for too long
...
Note that the comment above 'deltas' merely removed, as it wasn't actionable
without changing the frontend, which can probably already deal with
multiple of these.
Now that types are better understood though, it was straightforward to
change the type of `file_path` to not be a string, which now is even
clearer of a necessity thanks to the `tauri`-independent `watcher` crate.
Also, remove a comment related to the lack of worktree support.
It now fails gracefully, and that will come up again if support should be added.
2024-04-21 11:35:26 +02:00
Sebastian Thiel
fb83dafd8b
Make using Hunk::hash
with something that's not a hash a hard error.
...
Fix all occasions where this seems to be used like this.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
eb0db39387
Strongly type the hunk-hash to avoid String
, but remain compatible.
...
This change also avoids allocating for the hash, while keeping
everything else the same.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
3aecf4d57e
Make sure users can more easily delete vbranch information on failure
...
If for whichever reason the parsing of parts of the vbranch.toml file
fails, this would be a permanent error until the file is fixed or removed.
Now it's also displayed along with the error to make clearing the file
more convenient.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
ebf693e667
prevent unnecessary copies in Hunk::with_*
methods
2024-04-21 11:35:25 +02:00
Sebastian Thiel
9e11127356
don't assume UTF8 encoding in commit message
...
Instead, fail gracefully by displaying fill-characters.
Ideally, we would be able to use the commit-encoding header field as well,
but one step at a time.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
188fc2d5f1
Make sure UI types use strings instead of BString
...
Otherwise the frontend will see a byte-representation, and fails to operate
on the data.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
27714d8e0d
Adjust GitHunk
to not require UTF8 for diffs
...
This will make the diffing engine more correct overall, as only for
display there will be a potentially lossy conversion.
This will also prevent it to be considered binary even though it is not.
2024-04-21 11:35:25 +02:00
Sebastian Thiel
fe950ec00a
refactor
...
- adjust comment in watcher to actually show how it works.
2024-04-21 11:35:25 +02:00
Kiril Videlov
0fea544cd7
rm gb_repository from controller
2024-04-21 09:26:34 +02:00
Kiril Videlov
ee62577012
remove gb_repository from remote
2024-04-21 09:16:14 +02:00
Kiril Videlov
9ca847b2a3
remove gb_repository from base
2024-04-21 09:10:37 +02:00
Kiril Videlov
b8fcddb945
remove unused feature flag function
2024-04-20 10:32:49 +02:00
Sebastian Thiel
56d0943962
refactor
...
- don't convert paths to strings and use a set for membership checks
2024-04-20 09:10:11 +02:00
Sebastian Thiel
6e0706b6ef
Use the new worktree specific listing function ( #3552 )
...
It respects git excludes during traversal, which should also speed it
up when facing ignored direectories with many files.
2024-04-20 09:09:02 +02:00
Sebastian Thiel
cf81401b5a
add a function for worktree file listings specifically
...
This introduces `gix` to the codebase and uses it selectively
to traverse a worktree while respecting git excludes.
2024-04-20 09:07:17 +02:00
Kiril Videlov
69b048321e
Merge pull request #3564 from gitbutlerapp/update-virtual-branch-handles
...
update-virtual-branch-handles
2024-04-20 00:59:55 +02:00
Kiril Videlov
543e85dcfb
fix clippy
2024-04-20 00:47:42 +02:00
Kiril Videlov
118af702da
add some docs
2024-04-20 00:47:07 +02:00
Kiril Videlov
f95790f2fa
remove unused function on VirtualBranchesHandle
2024-04-20 00:46:58 +02:00
Kiril Videlov
72398719bc
rm test command
2024-04-20 00:38:18 +02:00
Kiril Videlov
6334336e7b
remove branch reader / writer
2024-04-19 23:48:11 +02:00
Kiril Videlov
86fe1e2735
remove target reader / writer
2024-04-19 23:29:13 +02:00
Kiril Videlov
442eb88eaa
rm target writer from unrelated tests
2024-04-19 23:13:27 +02:00
Kiril Videlov
e485566a2a
remove unused import
2024-04-19 22:57:05 +02:00
Kiril Videlov
0dccc5634a
rm gb_repository from create_virtual_branch_from_branch
2024-04-19 22:56:07 +02:00
Kiril Videlov
8fba308e43
rm gb_repository from move_commit
2024-04-19 22:55:35 +02:00
Kiril Videlov
a35ced3826
rm gb_repository from update_commit_message
2024-04-19 22:54:54 +02:00
Kiril Videlov
7aa574d5a0
rm gb_repository from squash
2024-04-19 22:54:13 +02:00
Kiril Videlov
953221b499
rm gb_repository from cherry_pick
2024-04-19 22:53:38 +02:00
Kiril Videlov
9b049271b7
rm gb_repository from amend
2024-04-19 22:52:58 +02:00
Kiril Videlov
01100a5407
rm gb_repository from commit
2024-04-19 22:52:17 +02:00
Kiril Videlov
a7219d38f2
rm gb_repository from reset_branch
2024-04-19 22:51:07 +02:00
Kiril Videlov
b6c6159b1b
rm gb_repository from delete_branch
2024-04-19 22:50:31 +02:00
Kiril Videlov
f1cee4bf11
rm gb_repository from merge_virtual_branch_upstream
2024-04-19 22:49:53 +02:00
Kiril Videlov
eb1c0ca721
rm gb_repository from list_virtual_branches
2024-04-19 22:48:43 +02:00
Kiril Videlov
1240177dcf
rm gb_repository from unapply_branch
2024-04-19 22:47:13 +02:00
Kiril Videlov
749cde0112
rm gb_repository from unapply_ownership
2024-04-19 22:45:33 +02:00
Kiril Videlov
45c1342a53
rm gb_repository from apply_branch
2024-04-19 22:44:42 +02:00
Kiril Videlov
21fdfb4272
rm gb_repository from go_back_to_integration
2024-04-19 22:43:26 +02:00
Kiril Videlov
676fb0e8fa
rm gb_repository from update_gitbutler_integration
2024-04-19 22:39:46 +02:00
Kiril Videlov
b77818c31e
rm gb_repository from update_branch
2024-04-19 22:23:24 +02:00
Kiril Videlov
b1c6af328e
rm gb_repository from get_status_by_branch
2024-04-19 22:18:35 +02:00
Kiril Videlov
954f960f1b
rm gb_repository from get_applied_status
2024-04-19 22:15:39 +02:00
Kiril Videlov
81f3cf47e3
rm gb_repository from push
2024-04-19 22:14:00 +02:00
Kiril Videlov
6dc51f4d12
rm gb_repository from is_remote_branch_mergeable
2024-04-19 22:12:37 +02:00
Kiril Videlov
2e1c46c0a6
rm gb_repository from is_virtual_branch_mergeable
2024-04-19 22:11:30 +02:00
Kiril Videlov
67a8d03254
rm gb_repository from verify branch
2024-04-19 22:09:28 +02:00
Kiril Videlov
6853f0859e
rm gb_repository param from create_virtual_branch
2024-04-19 22:05:33 +02:00
Kiril Videlov
7fb642df07
fix test
2024-04-19 21:54:33 +02:00
Kiril Videlov
e82483fb88
get_branch_target returns default on not found
...
Matching the previous semantics
2024-04-19 21:54:24 +02:00
Kiril Videlov
d57cba4d31
migrate base to VirtualBranchState
2024-04-19 21:41:22 +02:00
Kiril Videlov
2c5465639c
migrate repository to VirtualBranchState
2024-04-19 21:40:33 +02:00
Kiril Videlov
c152060cbf
migrate virtual_branches to VirtualBranchState
2024-04-19 21:39:33 +02:00
Kiril Videlov
098e80d484
migrate integration to VirtualBranchesHandle
2024-04-19 20:19:19 +02:00
Kiril Videlov
44faf660c3
separate list_branches and list_branch_ids
2024-04-19 19:53:32 +02:00
Kiril Videlov
4f43d075ee
migrate controller to VirtualBranchesHandle
2024-04-19 19:13:55 +02:00
Kiril Videlov
6383cd0d59
match VirtualBranchesHandle interface with readers
2024-04-19 19:12:44 +02:00
Josh Junon
d5b34c46f5
mark package info as potentially unused
2024-04-19 16:01:54 +02:00
Josh Junon
7f35537798
only construct about metadata on macos
2024-04-19 15:49:23 +02:00
Josh Junon
ed088f4431
enable devtools on release builds, too
2024-04-19 15:17:44 +02:00
Josh Junon
340eaeaf8c
re-construct the full menu instead of using OS default
2024-04-19 15:15:56 +02:00
Josh Junon
d091a357be
fix cargo warnings
2024-04-18 15:43:58 +02:00
Josh Junon
450b1aeee9
add rt/macros to tokio in core for tests
2024-04-18 15:26:10 +02:00
Sebastian Thiel
125b329ab8
fix build on Windows
2024-04-18 13:45:53 +02:00
Kiril Videlov
0c11a0efcb
use toml vbranch state by default
2024-04-18 13:12:39 +02:00
Kiril Videlov
f7f7ba992b
fix: valid ownership claims in test
2024-04-18 13:12:39 +02:00
Kiril Videlov
fdee7abe0b
remove unused show_file_at_tree
2024-04-18 12:12:28 +02:00
Kiril Videlov
ce14ea3b0b
Merge pull request #3541 from Byron/watcher-crate
...
split `tauri/watcher` into crate
2024-04-18 11:40:31 +02:00
Sebastian Thiel
5d9e593887
refactor
...
- add note related to negative pathspecs and performance implication of the current impl.
- deduplicate code for readability
2024-04-18 11:06:38 +02:00
Sebastian Thiel
c30ac3ba62
optimize tokio features
...
Previously, the attempt was made to enable only those `tokio` features
that are actually used. However, due to default-features still being
enabled and `tauri` using the `full` feature, for most intents and purposes
that wasn't effective.
Now default features are disabled, and `full` isn't used anymore, forcing
all crates to mention the exact features they need.
Note that `tracing` is missing here, as it wasn't effective previously
without the `--cfg tokio_unstable` option also being specified as rustflag.
2024-04-18 09:48:23 +02:00
Sebastian Thiel
adfbc7c5cc
Remove now unused dependencies from tauri
.
...
These have moved to `watcher` and `analytics` respectively.
2024-04-18 09:25:33 +02:00
Sebastian Thiel
5785085a77
reintegrate watcher
crate into tauri
crate
2024-04-17 22:20:32 +02:00
Sebastian Thiel
81dd1fc13e
The watcher-crate compiles and tests run
2024-04-17 21:46:06 +02:00
Sebastian Thiel
143fc05547
add analytics
crate based on tauri/analytics
2024-04-17 20:56:04 +02:00
Sebastian Thiel
5223c197d2
add watcher
crate with code copied from gitbutler-tauri/src/watcher
.
...
It's not functional yet, but exactly at the spot where it needs fixing
across the boundary that is:
- a stand-in for application events
- analytics
2024-04-17 19:15:17 +02:00
Sebastian Thiel
ccbe8fd738
improved error message when worktrees are encountered upon project-add ( #3062 )
...
Note that this is a first step towards making worktree support possible.
2024-04-17 18:37:20 +02:00
Sebastian Thiel
a482473453
add a test to core
that should work when worktrees are properly supported ( #3062 )
...
This reproduces #3062 .
2024-04-17 17:32:34 +02:00
Kiril Videlov
044f427810
rm functions for adding context lines to hunks
2024-04-17 07:23:34 +02:00
Kiril Videlov
45361df57c
rm use_diff_context feature flag from project
2024-04-17 07:17:36 +02:00
Kiril Videlov
6f0fe2afa9
rm uses_diff_context from list vbranches return
2024-04-17 07:14:43 +02:00
Kiril Videlov
0d296bf9f0
remove functions for adding context lines
2024-04-17 07:02:39 +02:00
Kiril Videlov
993c7109b0
remove unused context_lines option struct
2024-04-17 07:00:19 +02:00
Kiril Videlov
0c331ee86a
remove context_lines parameters
2024-04-17 06:59:13 +02:00
Kiril Videlov
15458cb25f
remove use of diff_context feature flag
2024-04-17 06:52:08 +02:00
Kiril Videlov
17ae8eb119
fix clippy warning
2024-04-16 19:11:42 +02:00
Vid Luther
4ff94d9f4a
happy 2024
2024-04-16 18:17:51 +02:00
Josh Junon
039378cdb7
Merge pull request #3526 from gitbutlerapp/fix-devtools-feature
...
fix devtools on release builds
2024-04-16 16:56:15 +02:00
Josh Junon
fa06586cdf
fix devtools on release builds
2024-04-16 16:43:22 +02:00
daniilS
e12e741c2e
Fix typos in "conflict" in error message, comments, and a variable name
2024-04-16 15:40:14 +01:00
Sebastian Thiel
980d5907f9
Attach more information in case diffy::apply() fails ( #3451 )
...
It's made in such a way that strings aren't included, but hashed
to allow a little more insight than would otherwise be possible.
2024-04-16 15:28:14 +01:00