Commit Graph

376 Commits

Author SHA1 Message Date
Sebastian Thiel
b38d736685
Use version without cutoff as last-resort only.
The implementation is a bit more complex to be sure that
the cutoff is still used where possible.
The GitLab repository for instance has such complex
graphs that somehow...  the first mergebase often isn't
enough to stop the traversal in time, leading to 100k commits to be traversed.
2024-10-30 15:49:28 +01:00
Sebastian Thiel
14ab092adc
fix: do not cutoff traversals by date for branch details (#1650).
We already found the merge-base and know that this will naturally
be the end of the traversal. Thus there is no need to additionally
set a cut-off date, which is the documented default.

With such a cutoff, it's very possible that certain operations on the branches
change the date of the base to lie in the future, which is when no traversal
would be able to happen anymore.
2024-10-30 15:38:41 +01:00
Kiril Videlov
bd10692afb Only show non-archived branches in the UI 2024-10-30 12:52:55 +01:00
Kiril Videlov
94e345aeb0 Change pruning of integrated heads in the stack to just flag them as archived 2024-10-30 12:26:34 +01:00
Kiril Videlov
8f4cb6160f replace a Vec of Forge Identifers with an Option instead
Likely we wont need multiple
2024-10-30 10:32:44 +01:00
Kiril Videlov
1384e90345 Integration test asserting setting and reading forge ids 2024-10-29 23:44:07 +01:00
Kiril Videlov
70f7d82f14 Update create_virtual_branch_from_branch to take forge_id 2024-10-29 23:25:14 +01:00
Kiril Videlov
88729a858c Add API endpoint for setting the forge ids
Plus frontend medthod in branchController for calling it
2024-10-29 22:54:54 +01:00
Kiril Videlov
4bba0dd2b9 expose forge ids on the branches stream api 2024-10-29 21:52:57 +01:00
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