Commit Graph

58 Commits

Author SHA1 Message Date
Kiril Videlov
0b6bcab859 Updating series name resets forge_id to None 2024-10-31 09:50:28 +01:00
Kiril Videlov
2ee3e2dcef fix adding a branch on the stack when there is an archived branch 2024-10-30 18:32:34 +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
70f7d82f14 Update create_virtual_branch_from_branch to take forge_id 2024-10-29 23:25:14 +01:00
Kiril Videlov
3844da2ac6 add tests for setting forge ids 2024-10-29 21:49:25 +01:00
Kiril Videlov
ba9ab65918 adds low level api for setting forge ids for a series/branch 2024-10-29 21:39:47 +01:00
Kiril Videlov
22310e018c introduce a new ForgeIdentifier type to be persisted 2024-10-29 21:21:09 +01:00
Kiril Videlov
8eff89a621 fix a bug where re-applying a lane causes branch names to be incremented 2024-10-29 16:31:33 +01:00
Kiril Videlov
7c61a9a236 Add test for stack pruning 2024-10-28 18:57:04 +01:00
Kiril Videlov
dc07cd1ce3 Prune integrated heads upon inegrating upstream 2024-10-28 17:51:19 +01:00
Kiril Videlov
4e84977516 Stack - handle the case where one of the stack heads can't be found
Handled by skipping in this case. What would be better is to not reach this state by updating the stack upon "update workspace"
2024-10-28 17:03:45 +01:00
Kiril Videlov
38c0453eed warn on unsafe index access in the stack crate 2024-10-27 22:27:55 +01:00
Kiril Videlov
b639859a65 fix reordering of series heads 2024-10-27 22:17:50 +01:00
Kiril Videlov
7e1a5c54f2 Implement new stackign api 2024-10-24 16:27:35 +02:00
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