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
98c537f5ec
stack: improvve computing of upstream only commits
...
It is necessary to compare against commits from either side of merge commits
2024-10-16 20:22:37 +02:00
Kiril Videlov
64fd3b893d
Merge pull request #5165 from Byron/fixup-5089
...
Some improvements on top of #5089
2024-10-16 19:19:46 +02:00
Kiril Videlov
d8f10e1513
fix comment on a test assertion
2024-10-16 18:55:06 +02:00
Kiril Videlov
64d2641e70
fix an missed call site
2024-10-16 18:46:01 +02:00
Kiril Videlov
99ebced634
fix correct test expectations
2024-10-16 18:36:12 +02:00
Kiril Videlov
3bd4428f35
When revwalking only get the commits from the first parent
...
Also adding an option for getting all
2024-10-16 18:28:32 +02:00
Kiril Videlov
5cd9d77fec
Merge pull request #5173 from gitbutlerapp/fix-issues-with-series-listing
...
Stack - correctly flag remote commits when no changeid
2024-10-16 17:34:30 +02:00
Kiril Videlov
b3313fb60b
make it compile lol
2024-10-16 17:27:21 +02:00
Caleb Owens
10b7ab9471
Fix issue where incoming commit headers were caried into merge commit headers
2024-10-16 16:58:33 +02:00
Sebastian Thiel
f7d5380687
Some improvements on top of #5089
...
The PR was merged earlier to not hold it after a passed review,
yet I personally feel strongly enough about the backend portions
to give it another round of polish.
2024-10-16 16:35:06 +02:00
Kiril Videlov
055a653979
Stack - correctly flag remote commits when no changeid
2024-10-16 15:53:56 +02:00
Sebastian Thiel
22f0e4ab36
Merge pull request #5089 from Zamoca42/feat/parse-binary-file
...
feat: Parse & display binary files
2024-10-16 11:36:28 +02:00
Ali Houssain Sareini
caf1b92b89
Merge branch 'master' into master
2024-10-15 18:33:23 -04:00
Kiril Videlov
55b91a484f
GC branch entries on fetch
2024-10-15 16:22:10 +02:00
Kiril Videlov
5b39495062
implement GC for branch entries
...
Garbage collects branches that are not in the workspace and hold no changes:
1. They do not have a WIP commit
2. They have no regular commits
2024-10-15 16:21:40 +02:00
Kiril Videlov
a20c2304df
unapply_without_saving
of a (v)branch now also delete persisted state
2024-10-15 15:03:43 +02:00
Kiril Videlov
be24f64c12
Stack - improved automatic reference names
...
Now the template for new references is "branch-n"
2024-10-15 16:40:51 +02:00
estib
44c376e48d
fix: Move any commit from branch to branch
...
Move any commit won't duplicate the commit in both virtual branches.
Also:
- Also add tests to catch this
2024-10-15 14:28:56 +02:00
Chooooooo
f178c4fed4
Update read_file_from_workspace logic
...
- Refactor `read_file_from_workspace` to separate `HEAD^{tree}` lookup logic
- Add new `read_file_from_tree` function to handle both `HEAD^{tree}` and specific commit lookups
- Add edge case handling for querying files from a specific commit in `read_file_from_workspace`
- Add conditions to handle modified or deleted files in worktree
- Improve file status handling with new `FileStatus` enum
- Update `FileInfo` struct to include file status information
2024-10-15 21:26:39 +09:00
Ali Houssain Sareini
4daeb53dba
feat: Add support for the 'zed' URL scheme
2024-10-14 19:36:51 -04:00
Kiril Videlov
d168588596
change default stack series reference to match the virtual branch legacy one if set
...
This is only applicable during the migration period - when a virtual branch has been pushed, and therefore there is a reference set. If that is the case, this will make the default series reference match that reference name
2024-10-14 20:49:49 +02:00
Chooooooo
e789eb1a55
Add preview support for untracked binary files
2024-10-15 03:31:28 +09:00
Chooooo
b4c84fdfd8
Merge branch 'master' into feat/parse-binary-file
2024-10-15 00:07:28 +09:00
Kiril Videlov
e8732f72e2
initialize stack with the same reference as the legacy reference
2024-10-14 16:29:38 +02:00
Caleb Owens
94ff87a72c
Pass --no-verify to git push
2024-10-14 18:27:58 +02:00
Sebastian Thiel
0be8710752
Merge pull request #5111 from Byron/fix-5096
...
Probably fix #5096
2024-10-14 14:03:31 +02:00
Kiril Videlov
3a833261e0
Merge pull request #5121 from gitbutlerapp/handle-undo-commit
...
Stack - handle reorder correctly
2024-10-14 11:27:21 +02:00
Kiril Videlov
6b6fc9b016
Merge pull request #5118 from navtoj/master
...
fix: "The `Shell` module is not enabled"
2024-10-14 11:09:47 +02:00
Esteban Vega
49a88430a2
Merge pull request #5048 from Pranav2612000/feat/4889-allow-moving-any-commit-from-stack-to-lane
...
[#4889 ] feat: allow moving any commit from a stack into another lane
2024-10-14 09:10:23 +02:00
Navtoj Chahal
1e59bb412c
enable opening URLs with the default browser
2024-10-13 19:44:26 -07:00
Kiril Videlov
77a03917e5
Stack - handle reorder correctly
2024-10-14 01:41:24 +02:00
Kiril Videlov
08a00a93b3
stack - replace head on undo commit
2024-10-13 23:59:30 +02:00
Kiril Videlov
ca6f3fd055
remove out of date todo
2024-10-11 22:57:52 +02:00
Kiril Videlov
18286a2142
Stack - adds a method to update the target commit with another in the stack
...
This is useful when a commit is destroyed (uncommit, squash, move)
2024-10-11 22:55:35 +02:00
Sebastian Thiel
d63babff0a
Assure that Project::path
can be compared reasonably with other paths ( #5096 )
...
When testing paths for prefix-matches it's important they are all normalized in
the same fashion.
`canonicalize()` is very particular about canonicalizing Windows paths, which
makes it easy for these paths to not be compatible to other absolute-looking
paths.
The difficulty here is to get the right trade-off between performance and
safety, e.g. we wouldn't want these canonicalized Windows paths to be used
anywhere as they are very uncommon (and don't even work everywhere).
2024-10-11 21:59:51 +02:00
Sebastian Thiel
b58a3f6dc3
Assure tests don't assume the default branch is set to master
globally.
...
Unfortunately, with anything `git2`, it's impossible (or unknown) to
prevent it from picking up the users configuration, hence tests aren't
isolated.
This change alleviates the worst results of this which at least makes
the tests run in my particular setup.
2024-10-11 21:59:48 +02:00
Sebastian Thiel
44a6125c3c
Merge pull request #5100 from Byron/fix-5099
...
fix 5099
2024-10-11 20:53:36 +02:00
Sebastian Thiel
9175e60e60
re-enable now working test thanks to gitoxide
fix
2024-10-11 18:59:38 +02:00
estib
c9f2f479e5
Move commits: Renamings, copy changes and a small fix
...
- Update the variable names so that they convey the right things that we're moving around.
- Correct the thrown error messages
- Append the source commit to the list of commits we're testing against the source commit diffs.
2024-10-11 16:50:49 +02:00
estib
f71187ed05
feat: allow moving any commit from a stack into another lane
...
Rebasing fixes
2024-10-11 15:06:55 +02:00
Mattias Granlund
9499bde372
Ensure stack initialized when re-applying branch
...
- set_stack_head could throw without it
- nolith reported this breakage on discord
2024-10-11 10:53:23 +02:00
Sebastian Thiel
4420f5d6be
Do not allow folders without a .git
directory to be added as project ( #5099 )
2024-10-11 07:53:05 +02:00
Sebastian Thiel
21b463982c
reproduce #5099 , adding a submodule as project fails ( #5099 )
2024-10-11 07:34:36 +02:00
Sebastian Thiel
304f92bf70
Use new 'self-contained' style for integration tests
2024-10-11 07:18:28 +02:00
Chooooooo
3c9eb56a37
Add parsing for binary files
2024-10-10 19:04:36 +09:00
Esteban Vega
e28a4b697c
Merge pull request #5069 from gitbutlerapp/user-mail-is-optional
2024-10-09 22:50:00 +02:00
Kiril Videlov
bdb8f50ce8
Stack: fixes an issue with displaying upstream commits
2024-10-09 22:38:17 +02:00
Kiril Videlov
f4a935c600
Stack - correctly set the requires_force atribute
...
If any commit from any series has divergence, forceful push is required
2024-10-09 21:13:38 +02:00
Caleb Owens
5071cc40ff
LIst conflicted files in commit files list
2024-10-09 20:21:57 +02:00
Kiril Videlov
3978476b78
Add an extra field remote_commit_id
on the API type VirtualBranchCommit
...
This makes it possibe (and easy) for the UI to determine if there is another (different) commit on the remote for the same patch
2024-10-09 18:15:10 +02:00
estib
8860622ff4
User: Make email optional
...
When authenticating with some IdPs, email doesn't get shared.
In that case, trying to authenticate would just throw a Rust-end error to the users.
This fixes that
2024-10-09 16:43:00 +02:00
Caleb Owens
82b58b6875
Make edit mode fantastic
2024-10-09 15:27:20 +02:00
Kiril Videlov
87a4c61b9f
Consistent setting of stack head updating the series
2024-10-08 22:25:19 +02:00
Kiril Videlov
915acd6afb
Fixes a bug when validating stack target commit
2024-10-08 22:24:34 +02:00
Kiril Videlov
34ca1f4a65
Merge master
into refactor Branch and Stack
2024-10-08 19:40:17 +02:00
Kiril Videlov
cfafc8d7b5
Make all places that create Stack also initialize it
2024-10-08 16:43:42 +02:00
Kiril Videlov
48bbe13d56
Rename StackExt.new to create
2024-10-08 16:37:07 +02:00
Kiril Videlov
570c974544
Rename StackActions to StackExt
...
Closer to rust conventions
2024-10-08 16:32:18 +02:00
Kiril Videlov
f172855c61
Adds a new
method to StackActions
2024-10-08 16:12:21 +02:00
Kiril Videlov
ce9b136185
Rename Stack constructor function to new_uninitialized
...
This describes it more accurately
2024-10-08 16:05:23 +02:00
Kiril Videlov
f6d8bbc663
remove unused type
2024-10-08 16:03:22 +02:00
Kiril Videlov
d05d962cf8
Rename Branch to Stack
2024-10-08 15:59:27 +02:00
Caleb Owens
99145f4aa4
Redo branch upstream integration
2024-10-08 15:49:58 +02:00
Kiril Videlov
9e9f3255a8
Remove some types out of the stack crate
...
Seems i can get away without adding it
2024-10-08 15:44:59 +02:00
Kiril Videlov
7ec59f8489
extract the Branch types to crate gitbutler-stack
2024-10-08 15:27:16 +02:00
Pranav2612000
1bb390a573
refactor: rename check_source_lock_to_ancestors to check_source_lock_to_commits
2024-10-08 18:30:22 +05:30
Kiril Videlov
d78ebbe176
rename crate gitbutler-stack to gitbutler-stack-api
...
This is needed to free up the name gitbutler-stack
2024-10-08 14:53:23 +02:00
Kiril Videlov
5b7109e8ee
refactor(Branch): implement set_head() and make field private
...
This allows us to control the head setting and update the stack `heads` field accordingly
2024-10-08 12:21:57 +02:00
Kiril Videlov
cb2c0d458e
refactor(Branch): implement a head() method
...
Moving the access to head behind a method so that we can eventually migrate to the `heads` field
2024-10-08 12:23:38 +02:00
Caleb Owens
8f9fd0cbe7
Extract branch_upstream_integration into it's own file
2024-10-07 18:02:21 +02:00
Caleb Owens
45fbb1af76
Remove old update_base_branch code
2024-10-07 17:46:28 +02:00
Caleb Owens
531672876f
Remove edit mode flag from backend
2024-10-07 17:08:32 +02:00
Caleb Owens
f47fdd703b
Introduce merge_base_octopussy
2024-10-02 14:59:11 +02:00
Caleb Owens
3f37e5aaf9
Use random names in commit_tree testing utility
2024-10-02 14:55:33 +02:00
Caleb Owens
2cb1358ac0
Use common primatives, and make sure conflicted trees are handled correctly
2024-10-07 16:51:24 +02:00
Caleb Owens
82406810f0
Extract tree updating into its own tested function
2024-10-07 16:10:34 +02:00
Caleb Owens
8c01244925
Fix upstream integration when there are no new branches
...
This is important as it will otherwise look like you've got the inverse diff in your uncommited changes.
2024-10-07 11:01:30 +02:00
Kiril Videlov
2b45293aee
Stacking: fix upstream handling
...
- Correctly detect commits that have been pushed
- Return the list of upstream only commits on the list_virtual_branches response
2024-10-04 16:50:15 -07:00
estib
265d957fb3
Base branch: Use graph ahead behind
2024-10-04 18:28:27 +02:00
estib
d8b2bee18c
fix: Lint errors
2024-10-04 10:35:17 +02:00
estib
adf33ac445
Upstream integration: Add some tests related to divergence resolution
...
Add tests regarding resolving divergence of the base branch with upstream
2024-09-30 16:26:19 +02:00
estib
9834627a20
Base: Propagate the conflicting status to the commits
2024-09-25 14:34:10 +02:00
estib
1368d87ed0
Base branch divergence resolution
...
Allow the user to choose how to resolve the base-branch divergence
2024-09-25 14:05:04 +02:00
estib
2091025227
Resolve upstream integration
...
Add a method to determine which should be the new base branch target commit ID based on what resolution approach is selected
2024-09-24 17:16:26 +02:00
estib
9060a4287c
Ability to push the base branch
...
If needed, the base branch can be pushed or force pushed
2024-09-24 14:06:05 +02:00
estib
3a2cf73bcd
BaseBranch: Determine whether the base diverged
...
Determine whether the local target has diverged from the remote,
and return some information about that
2024-09-24 13:57:22 +02:00
Esteban Vega
4d419a5001
Merge pull request #5016 from gitbutlerapp/add-tests-for-moving-commits
...
Factor out the `move_commit` function
2024-10-04 18:34:56 +02:00
Kiril Videlov
d262b230a8
Merge pull request #5036 from gitbutlerapp/add-series-top-base-implementation
...
Stacking - fixes an issue where its not possible to create additional series for the base of the stack
2024-10-04 00:29:26 +02:00
Kiril Videlov
d15e41ee73
Stacking - fixes an issue where its not possible to create additional series for the base of the stack
2024-10-03 15:22:20 -07:00
Kiril Videlov
eb88ed01c6
Stack api: Dont try to push series that are pointing to the Stack base
2024-10-03 20:52:27 +02:00
Kiril Videlov
ef1c7c139d
Simplify CreateSeriesRequest
...
If `preceding_head` is provided, only the name of the series is sufficient
2024-10-03 20:12:49 +02:00
Kiril Videlov
efa5cbc7fd
Makes it easier to create new series to the top of the stack
...
Adds an extra convinience API that does not require knowledge of what is the latest commit
2024-10-03 20:04:20 +02:00
Kiril Videlov
7ab8fdf0b8
Merge pull request #5031 from gitbutlerapp/series-on-list-virtual-branches-order
...
Fixes the order of series on the UI API (list_virtual_branches)
2024-10-03 18:56:36 +02:00
Kiril Videlov
cd4ec147b1
Fixes the order of series on the UI API (list_virtual_branches)
...
The UI needs the list starting with newest first.
Updated docs.
2024-10-03 18:50:56 +02:00
Kiril Videlov
e63e876ca5
Refactor - removes the change_refernce module that what the initial imlementation of stacking
...
This is now replaced with the more capable and correct `Stack` trait, implemented on `Branch`.
The new endpoints are:
create_series,
remove_series,
update_series_name,
update_series_description,
push_stack,
2024-10-03 18:39:50 +02:00
Kiril Videlov
3fc1687f86
Merge pull request #5027 from gitbutlerapp/reverse-patches-in-stack-series
2024-10-03 07:22:34 +02:00
Kiril Videlov
9c9c0fe5aa
fix: list_virtual_branches series patch order should be newest to oldest
2024-10-03 06:16:03 +02:00
Kiril Videlov
d8c00133aa
fix: Replace log range with merge base in Stack trait
2024-10-03 06:01:35 +02:00
dependabot[bot]
69752599be
Bump the rust-updates group across 1 directory with 13 updates
...
Bumps the rust-updates group with 13 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [serde](https://github.com/serde-rs/serde ) | `1.0.209` | `1.0.210` |
| [thiserror](https://github.com/dtolnay/thiserror ) | `1.0.63` | `1.0.64` |
| [backtrace](https://github.com/rust-lang/backtrace-rs ) | `0.3.73` | `0.3.74` |
| [once_cell](https://github.com/matklad/once_cell ) | `1.19.0` | `1.20.1` |
| [reqwest](https://github.com/seanmonstar/reqwest ) | `0.12.7` | `0.12.8` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.127` | `1.0.128` |
| [pretty_assertions](https://github.com/rust-pretty-assertions/rust-pretty-assertions ) | `1.4.0` | `1.4.1` |
| [tempfile](https://github.com/Stebalien/tempfile ) | `3.12.0` | `3.13.0` |
| [tauri-build](https://github.com/tauri-apps/tauri ) | `1.5.4` | `1.5.5` |
| [tokio-util](https://github.com/tokio-rs/tokio ) | `0.7.11` | `0.7.12` |
| [rstest](https://github.com/la10736/rstest ) | `0.22.0` | `0.23.0` |
| [clap](https://github.com/clap-rs/clap ) | `4.5.16` | `4.5.19` |
| [regex](https://github.com/rust-lang/regex ) | `1.10.6` | `1.11.0` |
Updates `serde` from 1.0.209 to 1.0.210
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210 )
Updates `thiserror` from 1.0.63 to 1.0.64
- [Release notes](https://github.com/dtolnay/thiserror/releases )
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.63...1.0.64 )
Updates `backtrace` from 0.3.73 to 0.3.74
- [Release notes](https://github.com/rust-lang/backtrace-rs/releases )
- [Commits](https://github.com/rust-lang/backtrace-rs/compare/0.3.73...0.3.74 )
Updates `once_cell` from 1.19.0 to 1.20.1
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.19.0...v1.20.1 )
Updates `reqwest` from 0.12.7 to 0.12.8
- [Release notes](https://github.com/seanmonstar/reqwest/releases )
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.7...v0.12.8 )
Updates `serde_json` from 1.0.127 to 1.0.128
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/1.0.127...1.0.128 )
Updates `pretty_assertions` from 1.4.0 to 1.4.1
- [Release notes](https://github.com/rust-pretty-assertions/rust-pretty-assertions/releases )
- [Changelog](https://github.com/rust-pretty-assertions/rust-pretty-assertions/blob/main/CHANGELOG.md )
- [Commits](https://github.com/rust-pretty-assertions/rust-pretty-assertions/compare/v1.4.0...v1.4.1 )
Updates `tempfile` from 3.12.0 to 3.13.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Stebalien/tempfile/compare/v3.12.0...v3.13.0 )
Updates `tauri-build` from 1.5.4 to 1.5.5
- [Release notes](https://github.com/tauri-apps/tauri/releases )
- [Commits](https://github.com/tauri-apps/tauri/compare/tauri-build-v1.5.4...tauri-build-v1.5.5 )
Updates `tokio-util` from 0.7.11 to 0.7.12
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.11...tokio-util-0.7.12 )
Updates `rstest` from 0.22.0 to 0.23.0
- [Release notes](https://github.com/la10736/rstest/releases )
- [Changelog](https://github.com/la10736/rstest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/la10736/rstest/compare/v0.22.0...v0.23.0 )
Updates `clap` from 4.5.16 to 4.5.19
- [Release notes](https://github.com/clap-rs/clap/releases )
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md )
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.16...clap_complete-v4.5.19 )
Updates `regex` from 1.10.6 to 1.11.0
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.10.6...1.11.0 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: thiserror
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: backtrace
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: once_cell
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-updates
- dependency-name: reqwest
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: pretty_assertions
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: tempfile
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-updates
- dependency-name: tauri-build
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: tokio-util
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: rstest
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-updates
- dependency-name: clap
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: rust-updates
- dependency-name: regex
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: rust-updates
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-10-02 22:37:53 +00:00
Kiril Videlov
ef91acc71a
Fixes an issue initializing stacks
2024-10-03 00:17:58 +02:00
Kiril Videlov
e00f47aea5
list_virtual_branches now includes the series data
...
at this point only local patches are returned
2024-10-02 23:49:58 +02:00
Kiril Videlov
99e48e4f3e
Initialize the Stack heads for branches during get_applied_status
2024-10-02 22:25:44 +02:00
Kiril Videlov
0ccd6709b6
Implementa helper Stack method for updating latest stack series head
2024-10-02 22:24:42 +02:00
Kiril Videlov
b8f69d9406
Wire up v2 stacking api as Tauri commands
2024-10-02 20:47:50 +02:00
Kiril Videlov
c94e8d121f
Update of series name disallowed after push
2024-10-02 20:26:05 +02:00
Kiril Videlov
89960f6bfc
Make stack initialization more forgiving
2024-10-02 19:28:29 +02:00
estib
c804699fd1
move commit: Check whether the commit is locked to it's ancestors
...
If the commit being moved depends on changes made in any of the ancestor commits, raise an error.
Add integration tests for that
2024-10-02 18:57:54 +02:00
Kiril Videlov
f699b72768
Implement support for creating and updating Series description
2024-10-02 18:20:23 +02:00
estib
ef418a20d7
move commit: Prefer rebase
...
- Prefer rebase than calculating the commit out of the diff
2024-10-02 17:38:51 +02:00
estib
337096a254
move commit: Add tests for multiple commits
...
- Add tests for moving commits in between branches that have exisiting commits in them
- Assert the contents of the commit and uncommitted files
2024-10-02 12:00:02 +02:00
Kiril Videlov
7d9f440fd6
Fix listing of stack series
2024-10-02 11:40:45 +02:00
Kiril Videlov
03659e4731
Add tests for Stack method push_series
2024-10-02 01:49:12 +02:00
Kiril Videlov
b5325e2d55
Add tests for Stack method update_series
2024-10-02 01:20:37 +02:00
Kiril Videlov
28a6e0a2bf
Fixe an issue with Stack.add_series
2024-10-01 23:46:22 +02:00
Kiril Videlov
9ce6dd8635
Rename Stack trait methods to refer to 'series'
2024-10-01 21:51:53 +02:00
Kiril Videlov
4cf5983dfb
Stacking: maintain correct order of heads when updating
2024-10-01 18:28:24 +02:00
Kiril Videlov
72e6004f1c
Stack: move functions for manipulating heads to own module
2024-10-01 17:41:33 +02:00
Kiril Videlov
00e2b891dd
Stacking: Assert no loose commits can be created (outside of a series)
2024-10-01 17:37:26 +02:00
Kiril Videlov
1b953d286c
Stacking: enforce that patch references point to changeIDs when available
2024-10-01 17:19:04 +02:00
Kiril Videlov
04c17656bb
Stacking: Maintain the correct heads order when adding new ones
2024-10-01 16:12:49 +02:00
estib
876817eaba
Factor out the move_commit
function
...
Move the `move_commit` function to a separate module.
Add some unit tests for testing whether the commit is locked.
2024-10-01 13:35:49 +02:00
Kiril Videlov
3ba6f7238a
Tests for Stack trait implementation
2024-09-30 00:22:35 +02:00
Kiril Videlov
d0c1679b68
Adds a "list_branches" (series) method to the Stack trait
...
This pre-computes a list of which commits/patches belong to which series in the stack
2024-09-29 22:18:15 +02:00
Kiril Videlov
f6ec80d8ce
Adds a trait Stack
with an implementation for Branch
...
This provides a well defined interface for interacting with Stacks. It is implemented for gitbutler_branch::Branch, and it is specifically meant to operate on and update the `heads` field of Branch
This facilitates creating, updating, removing, pushing and listing of "stacked branches" within the Stack (formerly the virtual branch).
2024-09-29 19:26:39 +02:00
Kiril Videlov
a2aafd919b
Introduce PatchReference and a heads field on Branch
...
- The PatchReference type represents a "reference" that is entirely managed by GitButler. It can either point to a commit or a GitButler change (which itself points to a commit)
- The Branch type (as persisted in virtual_branches.toml) now has a `heads` fields with a list of PatchReferences. This list is not to be meant to be manipulated directly, but with the `Stack` trait
2024-09-28 12:34:29 +02:00
Caleb Owens
a468ec7783
Added the tests
2024-10-01 17:12:46 +02:00
Mattias Granlund
1cdc3b7110
Add patch series to vbranch API struct
2024-10-01 16:09:07 +02:00
Caleb Owens
d571ee2ddb
Fix applying mergable branch
2024-10-01 13:32:48 +02:00
Kiril Videlov
3742349a22
Merge pull request #4999 from icorbrey-contrib/master
...
chore: Bump `git2-hooks`
2024-09-30 19:00:56 +02:00
Caleb Owens
3a921031d3
Remove erroniously preserved dbg statements
2024-09-30 18:08:23 +02:00
Caleb Owens
c7d2bfa025
Support symlinks in create_wd_tree
2024-09-30 18:02:46 +02:00
Isaac Corbrey
7045f1c365
chore: Bump git2-hooks
2024-09-30 11:54:34 -04:00
Caleb Owens
511ca5212e
Support executable blobs
2024-09-30 17:34:20 +02:00
Caleb Owens
6d52977202
Remove worktree_path and use workdir
function in create_wd_tree
2024-09-30 12:27:34 +02:00
Caleb Owens
e4ecddc690
Extract create_wd_tree test into test directory
2024-09-30 12:26:31 +02:00
Kiril Videlov
9dde8e7f7e
Merge pull request #4995 from gitbutlerapp/Use-new-checkout_combined_trees-in-upstream-integration
...
Use the new checkout_combined_trees in upstream integration
2024-09-30 11:36:28 +02:00
Caleb Owens
dc45ab2aac
Use the new checkout_combined_trees in upstream integration
2024-09-30 02:01:11 +02:00
Caleb Owens
c3f6db382a
Add more tests to undo commit
2024-09-30 01:53:21 +02:00
Caleb Owens
87663bea2d
Remove instances where add_all was used to get a tree of the current working directory
2024-09-29 23:39:23 +02:00
Caleb Owens
06af1c5fe9
Ensure that the index indeed remains unchanged
2024-09-29 23:23:50 +02:00
Caleb Owens
102b941d3e
Use new git2 implementation
2024-09-29 23:18:07 +02:00
Caleb Owens
47a4fc03c7
Update testing framework
2024-09-29 20:23:23 +02:00
Caleb Owens
be1fc2cf7e
Checkout trees after reordering (and make generic function for it)
2024-09-28 18:46:41 +02:00
Caleb Owens
947a9c7ff1
Fix branch.tree properties getting set to conflicted trees.
2024-09-28 18:45:11 +02:00
Caleb Owens
7f348d8a6d
Add tests for reordering commits
2024-09-28 17:50:32 +02:00
Nico Domino
216fca1cec
fix: simplify crates/package.json setup ( #4986 )
2024-09-28 15:29:48 +00:00