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
9175e60e60
re-enable now working test thanks to gitoxide
fix
2024-10-11 18:59:38 +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
Caleb Owens
531672876f
Remove edit mode flag from backend
2024-10-07 17:08:32 +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
Sebastian Thiel
6285d9177e
fix: ignore lock-failures on filesystems that don't support it ( #4895 )
...
Just like `cargo` does.
2024-09-14 08:48:17 +02:00
ndom91
4aa9e96ced
fix: use pullRequestPath as boolean
2024-09-10 17:24:51 +02:00
ndom91
bfe299aa98
fix: cleanup and PR review
2024-09-10 10:37:15 +02:00
ndom91
a5fb400985
fix: simplify setting git_host default settings in projects.json
2024-09-09 15:35:15 +02:00
ndom91
d7badd82a5
fix: enable saving git_host settings to projects.json
2024-09-08 18:34:45 +02:00
estib
4eabbaad86
Decouple the get_raw
project method
...
Decouple the `get_raw` method from other variants and only return the information about the project is returned.
This skips any other logic excecuted by the other methods (e.g. `get_inner`)
2024-09-03 13:17:17 +02:00
estib
395104fb67
Skip the project directory creation when getting the project
...
When only getting the project information, don't recreate the project directory.
This allows the app to get the information about a project, which path has been moved.
2024-09-02 18:06:34 +02:00
estib
2129ad5a3d
Ability to update the path of a project
2024-09-02 17:40:05 +02:00
Kiril Videlov
74e7b1eeb5
remove unused feature flag
2024-08-27 20:46:22 +02:00
Caleb Owens
ec7a38f538
Merge pull request #4717 from gitbutlerapp/Rebase-revolution
...
Rebase revolution
2024-08-22 18:28:49 +02:00
Caleb Owens
c987629262
Add project specific setting and refactor
2024-08-22 17:57:03 +02:00
Caleb Owens
b45a52f111
Remove empty merge commits
2024-08-22 15:27:34 +02:00
Sebastian Thiel
96e0d3e83f
add --trace
to enable tracing
...
This is useful to get simple performance metrics.
2024-08-21 19:23:42 +02:00
Sebastian Thiel
84b2db9685
optimize git2
for good measure, and enable them from tauri
and cli
2024-08-21 19:23:42 +02:00
Sebastian Thiel
09f19b782d
There is a clear error if the project moved or was deleted
...
The user-interface also gets a code to respond to.
2024-08-15 11:23:15 +02:00
Sebastian Thiel
4c76e2a6ee
Revert "Revert "Merge pull request #4652 from gitbutlerapp/git2-to-gix""
...
This reverts commit 88496e6219
.
2024-08-09 10:30:52 +02:00
Kiril Videlov
88496e6219
Revert "Merge pull request #4652 from gitbutlerapp/git2-to-gix"
...
This reverts commit ae8b05ae70
, reversing
changes made to 4d9b6a4a93
.
2024-08-09 10:18:51 +02:00
Sebastian Thiel
8ed90644a1
refactor serde crate to avoid name duplication
2024-08-08 16:59:38 +02:00
Kiril Videlov
83679206cd
separate syncing of oplog from regular refs
2024-07-30 21:29:54 +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
9e236e3469
remove async
except for in gitbutler-git
...
The reason is that it's unclear if maybe it's there for a good reason,
and I don't want to break the complex code in there.
2024-07-28 20:47:35 +02:00
Sebastian Thiel
822fd92b9d
Enforce locking by making locks part of the public oplog
API.
...
This way, all methods that care about the `oplog` also have to
care about choosing the right lock.
2024-07-15 21:09:33 +02:00
Sebastian Thiel
09ca2d0284
enforce in-process-synchronization during worktree updates and prolonged reads in oplog
...
That way it's assured that reads and writes don't intersect, but assure we only
hold such lock for the shortest amount of time for reads and and for the
full duration of writes.
2024-07-15 14:21: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
ccd6a6fe0d
let UI trigger necessary updates on addition and removal
2024-07-12 15:19:09 +02:00
Caleb Owens
c439334633
Remove old feature flag
2024-07-09 20:22:45 +02:00
Kiril Videlov
cdec47154d
remove references to gitbutler-core
2024-07-09 15:56:57 +02:00
Kiril Videlov
bf373c5d8f
move default_true type to the only place where its relevant
...
We dont really want this type to spread through the codebase
2024-07-09 13:00:26 +02:00
Kiril Videlov
3be7d600e0
move fs and storage intor separate crates
2024-07-09 12:54:08 +02:00
Kiril Videlov
55b8a0357b
move id module to its own crate
2024-07-09 12:39:18 +02:00
Kiril Videlov
944b63c647
move serde functions into their own crate
2024-07-09 11:49:12 +02:00
Kiril Videlov
989f27a0d6
move error module to it's own crate
2024-07-09 11:13:39 +02:00
Kiril Videlov
e93896621f
move project module in a separate gitbutler-project crate
2024-07-08 15:33:26 +02:00