Commit Graph

87 Commits

Author SHA1 Message Date
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
21b463982c
reproduce #5099, adding a submodule as project fails (#5099) 2024-10-11 07:34:36 +02:00
Kiril Videlov
34ca1f4a65 Merge master into refactor Branch and Stack 2024-10-08 19:40:17 +02:00
Caleb Owens
99145f4aa4 Redo branch upstream integration 2024-10-08 15:49:58 +02:00
Kiril Videlov
7ec59f8489 extract the Branch types to crate gitbutler-stack 2024-10-08 15:27:16 +02:00
Caleb Owens
3f37e5aaf9 Use random names in commit_tree testing utility 2024-10-02 14:55:33 +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
Caleb Owens
c7d2bfa025 Support symlinks in create_wd_tree 2024-09-30 18:02:46 +02:00
Caleb Owens
511ca5212e Support executable blobs 2024-09-30 17:34:20 +02:00
Caleb Owens
47a4fc03c7 Update testing framework 2024-09-29 20:23:23 +02:00
Caleb Owens
7f348d8a6d Add tests for reordering commits 2024-09-28 17:50:32 +02:00
Caleb Owens
46fa53a878 Fix merge commit unconflicted state
more tests
2024-09-25 23:37:37 +02:00
Caleb Owens
bbbf81c4c1 Start to introduce index resolution tests 2024-09-24 17:01:38 +02:00
Kiril Videlov
310d4cf73a
fix a bug where deleting a vbranch fails to update state 2024-09-10 10:55:36 +02:00
Kiril Videlov
3899975d6c
remove useless credentials helper struct 2024-09-06 11:03:57 +02:00
Mattias Granlund
0db82ea38c Replace all relevant occurrences of integration with workspace 2024-09-02 20:53:19 +03:00
Sebastian Thiel
7e0878a14f
Use read-only worktree diff
The worktree diff is essentially a 'git status' with a given tree,
and that can be expressed with a diff of the workdir, the index and a tree.

This comes at the expense of not being able to control which file sizes are diffed.
2024-08-28 11:10:04 +02:00
Kiril Videlov
052270f078
adds support for writable scripted fixtures 2024-08-21 16:31:46 +02:00
Sebastian Thiel
200b6e6d02
Fail when no author was found, and mark the error so the UI can react. 2024-08-15 08:53:19 +02:00
Sebastian Thiel
e42fcd4643
add benchmark for branch-listing 2024-08-07 20:10:02 +02:00
Caleb Owens
21bad4f30f repo -> repository 2024-07-29 11:13:25 +02:00
Caleb Owens
f4569ff4da Yes Kiril, I know its an abrv., but its consistent with what Byron started 2024-07-29 10:46:17 +02:00
Caleb Owens
366ccfecdf Rename ProjectRepository to CommandContext 2024-07-29 10:43:18 +02:00
Sebastian Thiel
39099ba41c
run the nightly cargo fmt with pnpm fmt
This also optimizes imports/uses, which is done only occasionally.
2024-07-28 21:02:40 +02:00
Sebastian Thiel
282519eca5
add ability to create add projects in CLI and create vbranches
This allows actual GitButler setups and more complex tests, which
are also added here.
2024-07-28 10:45:18 +02:00
Sebastian Thiel
093795bd0b
first simple test for list_branches and basic read-only test framework 2024-07-27 19:14:15 +02:00
Sebastian Thiel
b3b87b34a5
reduce tauri state
This is in preparation for making operations that access the filesystems
less stateful, which in turn makes it less akward to identify writing
methods with `&mut` lateron.

This includes accepting that all we really need is a single directory
to generate everything else we need on the fly. This simplifies commands.

For good measure, this also simplifies imports of smaller crates that are
involved.
2024-07-14 22:27:53 +02:00
Sebastian Thiel
f48d0e2746
adapt to changes in gitbutler-branch crate 2024-07-14 21:32:55 +02:00
Sebastian Thiel
4805f6e7e7
adapt to changes in gitbutler-branch-actions 2024-07-14 21:32:55 +02:00
Kiril Videlov
e92fe44fa1
move branch state into the gitbutler-branch crate
Further to the move - the VirtualBranchesExt trait creates a dependency towards gitbutler-project. The gitubler-branch crate doesn't have such dependency so i deemed it undesirable to introduce it just for a convinience method. 
(Separately added an extention in gitbutler-virtual-actions since it already depends on project and to create a smaller diff)
2024-07-10 16:18:34 +02:00
Kiril Videlov
c8658b9a23
rename gitbutler-virtual to gitbutler-branch-actions
This is to establish a patter of which crates represent a higher level logic
2024-07-10 14:49:48 +02:00
Kiril Videlov
da67580c80
Rename VirtualBrancesAccess to _Ext since it's the convention
After discussing it, seems like a better way of naming this is to use the Ext convention
2024-07-10 12:54:22 +02:00
Kiril Videlov
45d4d7c6e1
remove unused deps 2024-07-09 16:00:45 +02:00
Kiril Videlov
cdec47154d
remove references to gitbutler-core 2024-07-09 15:56:57 +02:00
Kiril Videlov
99d7b85343
move url module to a separate crate
this code is awful - lets nuke it asap
2024-07-09 15:29:24 +02:00
Kiril Videlov
db9d29b467
Rename ProjectRepo to ProjectRepository
This is casue some ppl dont like abbrevs
2024-07-09 13:45:04 +02:00
Kiril Videlov
3be7d600e0
move fs and storage intor separate crates 2024-07-09 12:54:08 +02:00
Kiril Videlov
de200c8e20
move reference module from core to its own crate 2024-07-09 01:14:28 +02:00
Kiril Videlov
17b8214c5d
move target module to gitbutler-branch crate 2024-07-09 00:40:10 +02:00
Kiril Videlov
8043f0dd4e
remove unused keys module 2024-07-09 00:26:27 +02:00
Kiril Videlov
0c9c781bd5
Renaming crate gitbutler-branch to gitbutler-virtual
This is more descriptive to what logic lives inside. Further, this allows for splitting up the just branch bits in a separate crate (which is currently in gitbutler-core)
2024-07-08 20:56:00 +02:00
Kiril Videlov
83a1d4a1e5
extract user as its own crate out of core 2024-07-08 18:58:29 +02:00
Kiril Videlov
cdbf4d8cd3
move legacy config module out of core 2024-07-08 18:12:12 +02:00
Kiril Videlov
e93896621f
move project module in a separate gitbutler-project crate 2024-07-08 15:33:26 +02:00
Kiril Videlov
e258710502
move ProjectRepo into its own crate
This type currently acts more or less like a command context that lives for the duration of the request. Regardless of if we wanna keep this pattern or not, separating it out helps us split up core
2024-07-08 13:23:03 +02:00
Kiril Videlov
306ab0bea9
move legacy credentail helper to gitbutler-repo crate
it's mostly used from there
2024-07-08 13:01:38 +02:00
Kiril Videlov
7ac2d3a619
move repository ext trait to gitbutler-repo crate 2024-07-08 12:21:01 +02:00
Kiril Videlov
143b3252a7
rename Repository type to ProjectRepo
Less misleading this way..
2024-07-07 22:09:45 +02:00
Kiril Videlov
00a77d9327
move branch state into a separate crate 2024-07-07 21:26:07 +02:00
Kiril Videlov
71809fc882
remove project dependency on oplog 2024-07-07 21:10:31 +02:00