Commit Graph

367 Commits

Author SHA1 Message Date
Kiril Videlov
22310e018c introduce a new ForgeIdentifier type to be persisted 2024-10-29 21:21:09 +01:00
Kiril Videlov
c0c6c8d13b
Merge pull request #5342 from gitbutlerapp/kv-branch-1
Test stack reorder shifting last in series to previous
2024-10-28 21:24:42 +01:00
Kiril Videlov
39f5b2e9a8 Test stack reorder shifting last in series to previous 2024-10-28 21:13:48 +01:00
Mattias Granlund
4b77cf4074 Default to experimental locking
- changing the name of the field since existing projects would have an explicit false value already
2024-10-28 21:08:59 +01:00
Kiril Videlov
dc07cd1ce3 Prune integrated heads upon inegrating upstream 2024-10-28 17:51:19 +01:00
Kiril Videlov
3d4f1657d1 Fix - prevent pushing of already integrated branches when in a stack 2024-10-28 16:10:28 +01:00
Kiril Videlov
94e205d6b9 reordering - handle empty series correctlly 2024-10-27 22:50:35 +01:00
Kiril Videlov
b639859a65 fix reordering of series heads 2024-10-27 22:17:50 +01:00
Kiril Videlov
52929459e4 fix reordering series heads 2024-10-26 17:21:09 +02:00
Kiril Videlov
c24888e16c fix test script 2024-10-26 15:11:35 +02:00
Kiril Videlov
a3933bae68 more tests 2024-10-26 14:53:30 +02:00
Kiril Videlov
6ba560aa6b make reorder tests a bit more succinct 2024-10-26 13:33:58 +02:00
Kiril Videlov
327a570e45 Fix stack reorder implementation 2024-10-26 00:33:22 +02:00
Kiril Videlov
382c6251a0 Integration test setup for reordering 2024-10-25 22:05:45 +02:00
Kiril Videlov
9a61a6d64d fix reorder list sorting 2024-10-25 22:05:22 +02:00
Kiril Videlov
7e1a5c54f2 Implement new stackign api 2024-10-24 16:27:35 +02:00
Kiril Videlov
16135675bc Reorder stack API stub 2024-10-21 11:28:57 +02:00
Sebastian Thiel
42f632aaf4
avoid allocations for comparisons
Also avoid having an untyped comparison which is easy to get wrong.
2024-10-24 19:17:36 +02:00
Esteban Vega
a70de62f2e
Merge pull request #5295 from gitbutlerapp/e-branch-2
fix: Compare branches to the remote target branch
2024-10-24 15:15:23 +02:00
estib
4178fdd973 fix: Compare branches to the remote target branch
When getting the branch listings, compare the branches to the remote target branch.
This is necessary because of two reasons:
- GitButler doesn't really care about what your local target branch (e.g. main) does, and also doesn't update it as we merge upstream (e.g. origin/main).
- In some cases, a repository might not have a local branch pusgin to the remote target branch (especially in the cases in which branches are merged through a forge)
2024-10-24 14:32:19 +02:00
estib
d2df87f1b2 Refname: Add custom comparator for BStr
Add a neat, nice little implementation for comparing Refnames to BStrs
2024-10-24 13:51:27 +02:00
estib
8a2943a11c list branches: Update tests 2024-10-24 12:06:37 +02:00
estib
bb72296a00 fix: Don't list the target branch
Don't list the target branch in the sidebar
2024-10-24 10:47:33 +02:00
Mattias Granlund
d9156fc00b Integrate new hunk dependency algorithm
- behind a project level feature flag
2024-10-23 22:42:46 +02:00
Mattias Granlund
c8a591505a Make context optional when getting commit diffs 2024-10-23 22:42:46 +02:00
Mattias Granlund
1fa97d4468 Fix clippy warnings after toolchain date bump 2024-10-23 22:42:46 +02:00
Kiril Videlov
990d564625 Refactor list series for Stack 2024-10-23 17:12:31 +02:00
Kiril Videlov
068833059d Remove stack extention trait - now it can be an impl block 2024-10-22 16:08:59 +02:00
Kiril Videlov
ccec1868f8 Refactor - join stack and stack api crates
Separation was previously needed due to cycle dependency with the repo crate. 
The stack_ext is to be refactored as an impl on stack
2024-10-22 15:26:53 +02:00
Kiril Videlov
95d4fc15d0 Refactor - move commit signature code out of branch crate 2024-10-22 14:41:35 +02:00
Kiril Videlov
4ef288f60d Move RepoActionsExt out of gitbutler-repository
This is a higher level trait with lots of dependencies
2024-10-22 13:44:04 +02:00
Kiril Videlov
cb7c4ea486 refactor stack api
Make it not depend on RepoActionsExt
2024-10-22 13:29:37 +02:00
Kiril Videlov
56a4a4ac0d Adding an extra dedup step to absolutely prevent duplication
Duplicate keys crashes the UI
2024-10-22 02:02:12 +02:00
Kiril Videlov
adbc69a80d Fix - remove the assumption that a stack can only have one commit with a given change id
Having a change id being duplicated is a bad state but we must be able to handle it
2024-10-22 01:57:58 +02:00
Kiril Videlov
c843e5d7ec add large file protection for the UI on commits
If there are large non-binary files, it can lock up the UI. Add the same handling that we already apply for the uncommitted files
2024-10-21 19:09:38 +02:00
Kiril Videlov
6ed54349d0 Fix for branches incorrectly deleted
If a branch is being "unapplied' due to conflicts - dont delete the state
2024-10-21 14:42:24 +02:00
Kiril Videlov
2630dbbc1e fix a bug in marking commits as integrated
Match the implementation of the legacy commits, which check only up to the first integrated commit
2024-10-20 19:08:40 +02:00
Kiril Videlov
dd93fc16db
fixes a bug in handling the remote name
Seems like projects that were created long time ago do not have the push_remote_name field set up. Add correct handling for all those situations
2024-10-20 00:22:57 +02:00
ndom91
ce3ac1a079 feat: update default stack name to 'Lane' 2024-10-18 13:57:33 +02:00
Kiril Videlov
74e35f86cf
fix - stack / requires force
Toggle on 'requires force push' if there are upstream only patches (so that they can be overriden)
2024-10-18 12:01:46 +02:00
Kiril Videlov
de6de23155
Stack api - small refactor
Remove duplications, typos etc
2024-10-17 20:03:13 +02:00
Kiril Videlov
6b3f80e157
Move a series converion function in branch-actions to separate module 2024-10-17 18:56:48 +02:00
Kiril Videlov
dd6d62cf42
Add tests for integrate_upstream_commits_for_series assuring same behavior 2024-10-17 11:30:07 +02:00
Kiril Videlov
169fe207ce
Reimplement integrate_upstream_commits_for_series to do a two-pass rebase 2024-10-17 11:29:43 +02:00
Kiril Videlov
6a056f9ad7
refactor integrate_upstream_commits_for_series 2024-10-16 22:09:59 +02:00
Kiril Videlov
a2506177f1
Use new integrate upstream in stacked up 2024-10-16 12:22:14 +02:00
Kiril Videlov
b6ec442a4a
Implement integrate upstream commits for the stacked flow
refactor integrate upstream code for the stacked flow
fix semantics
2024-10-16 12:03:20 +02:00
Kiril Videlov
c5f20160bc
Stack - optimize getting commit by change id
Pass the merge base instead of computing it every time
refactor stack
2024-10-16 20:55:50 +02:00
Kiril Videlov
5fbf242f86
Update virtual.rs 2024-10-16 20:25:08 +02:00
Kiril Videlov
d8f10e1513
fix comment on a test assertion 2024-10-16 18:55:06 +02:00