Commit Graph

108 Commits

Author SHA1 Message Date
Kiril Videlov
5e18071a30
refactor: virtual branch controller - rm inner pattern 2024-07-04 12:21:22 +02:00
Caleb Owens
82c3987d45
Unapply to real branches (#4025)
* Don't return optional

* Rename get_integration_commiter

* Add a header to wip commit

* Stuff

* Unapply all branches

* Reorder code

* Fix one test

* Name resolution

* Fix two tests

* Fix another!

* wip

* Fix so many tests

* Fix unapply.rs tests

* Fix selected for changes tests

* Move unapplying logic to delete_branch method

* Remove unused and kinda borked cherry_commit code

* Fix the tests!!!!!

* Make apply_branch private

* Change handling of headers

* Improve order integrity

* Updated types and comments to convey more meaning
2024-07-01 14:13:52 +00:00
Kiril Videlov
c0710a05e7
captrure update branch errors in snapshot 2024-06-08 22:31:23 +02:00
Kiril Videlov
9c56a5f040 remove proxy core::git::Oid 2024-06-05 22:56:03 +02:00
Kiril Videlov
4a54f74aa2 remove field access 2024-06-05 01:19:23 +02:00
Kiril Videlov
bc16fadcc5 move commit signing to git2 extension trait 2024-06-03 01:04:14 +02:00
Sebastian Thiel
567a077582
simplify core::errors and remove all the cruft 2024-06-01 14:37:41 +02:00
Sebastian Thiel
939624f725
Remove all custom errors from virtual branches module.
In order to do that, errors from other modules have to go as well.
2024-06-01 14:36:05 +02:00
Sebastian Thiel
f82d25741e
use Marker in place of Code::ProjectInvalid
That way, the frontend doesn't see internals.
2024-06-01 14:34:16 +02:00
Sebastian Thiel
e7c1d6033a
Remove all errors that don't trigger a custom code or context 2024-06-01 14:34:16 +02:00
Sebastian Thiel
c0fc0cfde5
Remove BranchNotFound struct 2024-06-01 14:34:16 +02:00
Sebastian Thiel
61a53c6346
Another pass at removing ProjectConflict
As this causes quite a lot of changes, there is this commit to capture them.
2024-06-01 14:34:13 +02:00
Sebastian Thiel
1dc52a44c0
restore detection of project conflicts
Previously that variant was removed even though we need it now to
easily detect this case.
2024-06-01 14:32:27 +02:00
Sebastian Thiel
20d84247e9
Prune Code to only what's used by the UI
Also adjust the `Code` documentation to clarify this - otherwise
we will have more and more variants and nobody actually cares.

The frontend code is adjusted as well, as its `Code` counterpart
contained unsused variants which are now removed.
2024-06-01 14:32:27 +02:00
Kiril Videlov
d164457299 update_base_branch returns unapplied branches list
If merge conflicts caused branches to become unapplied, return them as a list
2024-06-01 13:11:53 +02:00
Kiril Videlov
4b8d97a500 save error on undo commit snapshot 2024-05-30 23:59:30 +02:00
Kiril Videlov
0f482934c8 save error on unapply branch snapshot 2024-05-30 23:44:58 +02:00
Kiril Videlov
618c7adedc save error on apply branch snapshot 2024-05-30 22:31:16 +02:00
Kiril Videlov
d7ae4d85f1 first stab at saving errors in snapshots 2024-05-30 22:07:02 +02:00
Caleb Owens
faa476875d Replace &BranchId to BranchId 2024-05-29 11:07:36 +02:00
Caleb Owens
0db12b5115 Don't pass references to project_id 2024-05-29 10:47:11 +02:00
Caleb Owens
6d1ed8474c rename fetch_from_target to fetch_from_remotes 2024-05-28 10:14:35 +02:00
Sebastian Thiel
590d713f91
use git2::Oid instead of String; various small refactors 2024-05-28 13:25:46 +02:00
Sebastian Thiel
e3156ba75c
remove single-use traits while leaving the structure as is 2024-05-28 13:25:46 +02:00
Sebastian Thiel
346c96869e
small refactors (see body for details)
- instrument snapshot creation to assure we see errors (which are ignored in code)
- move tests for public `entry` types into integration tests
- rename `OperationType` to `OperationKind` as it's more commmon in Rust
- Use `Copy` where possible
- streamline implementation: remove clones and allocations, without going zero-copy
- Prefer direct calls to traits to avoid `write!("{}")` just to invoke a trait fmt implementation
- avoid `pub` when `pub(crate)` will do
- strong type for created_at
2024-05-28 13:25:46 +02:00
Caleb Owens
27f3b65b79 Fetch non-origin remotes 2024-05-24 14:58:56 +02:00
Caleb Owens
b8a1dcb2f0
Revert "Replace integer timestamps with Duration" 2024-05-24 09:40:52 +01:00
Kiril Videlov
3749bcef51 snapshot before comitting is done in two steps now
this way we have the commit id
2024-05-24 00:35:31 +02:00
Caleb Owens
4a7e5f48dd Merge origin/master into core-util-duration-updates 2024-05-23 14:04:54 +02:00
Caleb Owens
d55260c96a Use Duration rather than various integer times for time 2024-05-23 14:02:48 +02:00
Kiril Videlov
1312813051 move snapshot MoveCommit before the operation 2024-05-23 11:59:26 +02:00
Kiril Videlov
55da2e550e move snapshot UpdateCommitMessage before the operation 2024-05-23 11:58:13 +02:00
Kiril Videlov
7ab0bbb989 move snapshot SquashCommit before the operation 2024-05-23 11:57:34 +02:00
Kiril Videlov
72cdec8c93 move snapshot CherryPick before the operation 2024-05-23 11:56:52 +02:00
Kiril Videlov
e0584534e5 move snapshot UndoCommit before the operation 2024-05-23 11:54:46 +02:00
Kiril Videlov
05039a2bbb move snapshot ReorderCommit before the operation 2024-05-23 11:54:03 +02:00
Kiril Videlov
ff04bc0a59 move snapshot InsertBlankCommit before the operation 2024-05-23 11:53:16 +02:00
Kiril Videlov
168a218ebe move snapshot MoveCommitFile before the operation 2024-05-23 11:52:27 +02:00
Kiril Videlov
f514ec752c move snapshot AmendCommit before the operation 2024-05-23 11:51:18 +02:00
Kiril Videlov
7944fb4558 move snapshot DiscardFile before the operation 2024-05-23 11:50:34 +02:00
Kiril Videlov
6574a805a8 move snapshot DiscardHunk before the operation 2024-05-23 11:50:06 +02:00
Kiril Videlov
a418f22e23 move snapshot UpdateWorkspaceBase before the operation 2024-05-23 11:49:34 +02:00
Kiril Videlov
f94ff8fd41 move snapshot MergeUpstream to before the operation 2024-05-23 11:48:56 +02:00
Kiril Videlov
a65aec6054 move snapshot SetBaseBranch to before the operation 2024-05-23 11:48:00 +02:00
Kiril Videlov
4092464be4 move snapshot UndoCommit to before the operation 2024-05-23 11:46:52 +02:00
Kiril Videlov
77e01b5928 move snapshot CreateCommit to before the operation 2024-05-23 11:45:14 +02:00
Kiril Videlov
753cc02a37 move snapshot UnapplyBranch to before the operation 2024-05-23 11:27:24 +02:00
Mattias Granlund
021180d8f1 Rename function 2024-05-23 10:58:59 +02:00
Mattias Granlund
cd419eca67 Refactor how we merge in commits from branch upstream
- send change_id to frontend for `RemoteCommit`
- split up massive function into three
- add a couple of checks to prevent unexpected state
- rebase if force push allowed (needs toggle)
2024-05-23 10:58:59 +02:00
Mattias Granlund
21e98fd9f2 Simplify getting default target
- remove try function in favor of returning error
- drop unused function
2024-05-21 12:02:38 +02:00