Kiril Videlov
990d564625
Refactor list series for Stack
2024-10-23 17:12:31 +02:00
Kiril Videlov
abea43c5d4
Fixes a problem where re-applying a pushed branch creates a new reference rather than reusing the existing one
...
The most visible aspect to this issue was that the branch will not show any existing PRs afterwards
2024-10-23 11:47:53 +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
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
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
87a4c61b9f
Consistent setting of stack head updating the series
2024-10-08 22:25:19 +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
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
d05d962cf8
Rename Branch to Stack
2024-10-08 15:59:27 +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
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
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
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
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
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
0ccd6709b6
Implementa helper Stack method for updating latest stack series head
2024-10-02 22:24:42 +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
Kiril Videlov
f699b72768
Implement support for creating and updating Series description
2024-10-02 18:20:23 +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
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