Mattias Granlund
8dd4a92622
Use empty vector instead of None
2024-04-24 08:15:01 +01:00
Mattias Granlund
055c7e7119
Use blame for hunk locking
...
- replaces commit walking with a git blame
- limited to specific hunk lines
- earliest_commit set to default target
- lock if any blame other than boundary commit
- intersection uses context lines
2024-04-24 08:15:01 +01:00
Sebastian Thiel
f4a8aa5592
flyby refactor to do a little less copying
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
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
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
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
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
6853f0859e
rm gb_repository param from create_virtual_branch
2024-04-19 22:05:33 +02:00
Kiril Videlov
c152060cbf
migrate virtual_branches to VirtualBranchState
2024-04-19 21:39:33 +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
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
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
Mattias Granlund
2c7079497b
Refactor test for hunk intersection fn
...
Previous implementation of `joined` would fail this test:
```
st virtual_branches::r#virtual::tests::joined_test ... FAILED
at crates/gitbutler-core/src/virtual_branches/virtual.rs:4139:9:
assertion failed: joined(2, 3, 1, 4)
```
2024-04-16 13:26:28 +01:00
Mattias Granlund
1092d50ddd
Fix hunk locking when default target is different from locked_to
2024-04-16 10:55:17 +01:00
Mattias Granlund
e88d6f990a
Fix things that broke tests
...
- also fixes a few incorrect test assertions
2024-04-16 00:09:04 +02:00
Mattias Granlund
f22b824d41
Rename uncommitted_base -> integration_commit
2024-04-16 00:09:04 +02:00
Mattias Granlund
f4750762ed
Fix unapply_hunk with uncommitted_branch
...
- should have been fixed with the other commands
2024-04-16 00:09:04 +02:00
Mattias Granlund
918b78048d
Remove no-op function calculate_uncommitted_diffs
...
- seems like it goes full circle and produces its own input?
- should be investigated still
2024-04-16 00:09:04 +02:00
Mattias Granlund
6b412b1f47
Use uncommitted_base
in rest of amend, cherry_pick, etc
2024-04-16 00:09:04 +02:00
Mattias Granlund
c390c8a344
Use ucommitted base in commit
as well
2024-04-16 00:09:04 +02:00
Mattias Granlund
b85c7e39ad
Fix improper base when calculating virtual branches
...
- no need to deal with hunks that are already committed
2024-04-16 00:09:04 +02:00
Sebastian Thiel
2aaacdfca7
chore: remove legacy error in favor of new error system
2024-04-01 17:33:14 +02:00