Commit Graph

6361 Commits

Author SHA1 Message Date
Josh Junon
693c72b89a
only move if the path contains a space 2024-04-16 17:26:33 +02:00
Josh Junon
2b6edfea7b
Merge pull request #3529 from gitbutlerapp/fix-release-script-syntax
add no-op in release script on windows
2024-04-16 17:03:51 +02:00
Josh Junon
8847681c71
add no-op in release script on windows 2024-04-16 17:03:25 +02:00
Josh Junon
99c6710f1a
Merge pull request #3528 from gitbutlerapp/clear-artifacts-on-sign
clear old artifacts on signing machine
2024-04-16 16:58:04 +02:00
Josh Junon
a9c6fa7618
clear old artifacts on signing machine 2024-04-16 16:57:15 +02:00
Josh Junon
039378cdb7
Merge pull request #3526 from gitbutlerapp/fix-devtools-feature
fix devtools on release builds
2024-04-16 16:56:15 +02:00
Josh Junon
5d56779271
Merge pull request #3527 from gitbutlerapp/fix-signatures
normalize S3 paths, enable additional signature on windows, and include updater bundles
2024-04-16 16:56:01 +02:00
Josh Junon
fa06586cdf
fix devtools on release builds 2024-04-16 16:43:22 +02:00
daniilS
e12e741c2e Fix typos in "conflict" in error message, comments, and a variable name 2024-04-16 15:40:14 +01:00
Sebastian Thiel
980d5907f9 Attach more information in case diffy::apply() fails (#3451)
It's made in such a way that strings aren't included, but hashed
to allow a little more insight than would otherwise be possible.
2024-04-16 15:28:14 +01:00
Josh Junon
2754330a4a
normalize S3 paths, enable additional signature on windows, and include updater bundles 2024-04-16 16:22:16 +02:00
Josh Junon
ed7fd43874
Merge pull request #3522 from gitbutlerapp/upload-sig-ci
upload *.sig to s3 when publishing
2024-04-16 14:42:54 +02:00
Josh Junon
2fbded31f7
upload *.sig to s3 when publishing 2024-04-16 14:42:08 +02:00
Mattias Granlund
2c7079497b Refactor test for hunk intersection fn
Previous implementation of `joined` would fail this test:
```
st virtual_branches::r#virtual::tests::joined_test ... FAILED
at crates/gitbutler-core/src/virtual_branches/virtual.rs:4139:9:
assertion failed: joined(2, 3, 1, 4)
```
2024-04-16 13:26:28 +01:00
Mattias Granlund
1092d50ddd Fix hunk locking when default target is different from locked_to 2024-04-16 10:55:17 +01:00
Mattias Granlund
dd755d18ac Fix bug where occasionally locked commit info is missing
- happens when the commit is already pushed
2024-04-16 09:44:36 +01:00
Mattias Granlund
203da38e8b Add devtools to view menu 2024-04-16 09:07:11 +01:00
Mattias Granlund
e88d6f990a Fix things that broke tests
- also fixes a few incorrect test assertions
2024-04-16 00:09:04 +02:00
Mattias Granlund
f22b824d41 Rename uncommitted_base -> integration_commit 2024-04-16 00:09:04 +02:00
Mattias Granlund
3005c06729 Include context lines in hunk hash
- git also uses context lines for identification when applying patches
2024-04-16 00:09:04 +02:00
Mattias Granlund
f4750762ed Fix unapply_hunk with uncommitted_branch
- should have been fixed with the other commands
2024-04-16 00:09:04 +02:00
Mattias Granlund
918b78048d Remove no-op function calculate_uncommitted_diffs
- seems like it goes full circle and produces its own input?
- should be investigated still
2024-04-16 00:09:04 +02:00
Mattias Granlund
6b412b1f47 Use uncommitted_base in rest of amend, cherry_pick, etc 2024-04-16 00:09:04 +02:00
Mattias Granlund
c390c8a344 Use ucommitted base in commit as well 2024-04-16 00:09:04 +02:00
Mattias Granlund
b85c7e39ad Fix improper base when calculating virtual branches
- no need to deal with hunks that are already committed
2024-04-16 00:09:04 +02:00
Kiril Videlov
be1476f6ab
Merge pull request #3515 from gitbutlerapp/dependabot/npm_and_yarn/npm-updates-a82a17bf91
build(deps): bump the npm-updates group with 12 updates
2024-04-15 12:39:49 -07:00
Josh Junon
f9f1f3d2ee
Merge pull request #3471 from Byron/watcher-refactor
watcher refactor
2024-04-15 17:58:56 +02:00
dependabot[bot]
dd6a6671ea
build(deps): bump the npm-updates group with 12 updates
Bumps the npm-updates group with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [openai](https://github.com/openai/openai-node) | `4.33.0` | `4.33.1` |
| [@codemirror/lang-html](https://github.com/codemirror/lang-html) | `6.4.8` | `6.4.9` |
| [@codemirror/lang-markdown](https://github.com/codemirror/lang-markdown) | `6.2.4` | `6.2.5` |
| [@codemirror/view](https://github.com/codemirror/view) | `6.26.1` | `6.26.3` |
| [@sentry/sveltekit](https://github.com/getsentry/sentry-javascript) | `7.109.0` | `7.110.1` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `7.5.0` | `7.6.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `7.5.0` | `7.6.0` |
| [eslint-plugin-svelte](https://github.com/sveltejs/eslint-plugin-svelte) | `2.36.0` | `2.37.0` |
| [posthog-js](https://github.com/PostHog/posthog-js) | `1.120.2` | `1.121.4` |
| [prettier-plugin-svelte](https://github.com/sveltejs/prettier-plugin-svelte) | `3.2.2` | `3.2.3` |
| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte) | `4.2.12` | `4.2.14` |
| [typescript](https://github.com/Microsoft/TypeScript) | `5.4.4` | `5.4.5` |


Updates `openai` from 4.33.0 to 4.33.1
- [Release notes](https://github.com/openai/openai-node/releases)
- [Changelog](https://github.com/openai/openai-node/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openai/openai-node/compare/v4.33.0...v4.33.1)

Updates `@codemirror/lang-html` from 6.4.8 to 6.4.9
- [Changelog](https://github.com/codemirror/lang-html/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lang-html/compare/6.4.8...6.4.9)

Updates `@codemirror/lang-markdown` from 6.2.4 to 6.2.5
- [Changelog](https://github.com/codemirror/lang-markdown/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/lang-markdown/compare/6.2.4...6.2.5)

Updates `@codemirror/view` from 6.26.1 to 6.26.3
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.26.1...6.26.3)

Updates `@sentry/sveltekit` from 7.109.0 to 7.110.1
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/7.110.1/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.109.0...7.110.1)

Updates `@typescript-eslint/eslint-plugin` from 7.5.0 to 7.6.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.6.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.5.0 to 7.6.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.6.0/packages/parser)

Updates `eslint-plugin-svelte` from 2.36.0 to 2.37.0
- [Release notes](https://github.com/sveltejs/eslint-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/eslint-plugin-svelte/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/eslint-plugin-svelte/compare/v2.36.0...v2.37.0)

Updates `posthog-js` from 1.120.2 to 1.121.4
- [Release notes](https://github.com/PostHog/posthog-js/releases)
- [Changelog](https://github.com/PostHog/posthog-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/PostHog/posthog-js/compare/v1.120.2...v1.121.4)

Updates `prettier-plugin-svelte` from 3.2.2 to 3.2.3
- [Changelog](https://github.com/sveltejs/prettier-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/prettier-plugin-svelte/compare/v3.2.2...v3.2.3)

Updates `svelte` from 4.2.12 to 4.2.14
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/svelte@4.2.14/packages/svelte/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@4.2.14/packages/svelte)

Updates `typescript` from 5.4.4 to 5.4.5
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v5.4.4...v5.4.5)

---
updated-dependencies:
- dependency-name: openai
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@codemirror/lang-html"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@codemirror/lang-markdown"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@codemirror/view"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: "@sentry/sveltekit"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: eslint-plugin-svelte
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: posthog-js
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-updates
- dependency-name: prettier-plugin-svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: svelte
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-15 15:56:46 +00:00
Sebastian Thiel
a3fd06897e
address misc review comments
- turn `static` into `const`
2024-04-15 16:55:03 +02:00
Sebastian Thiel
fb9db89e1b
remove '_pure' functions in favor of creating a full handler in tests.
The `pure` functions were from a time where a `Handler` couldn't be instantiated
in full for tests, but that is not the case anymore, so there isn't any use
for the added complexity.
2024-04-15 16:50:20 +02:00
Sebastian Thiel
62b1c49372
avoid &str in place where ProjectId could be used 2024-04-15 16:23:18 +02:00
Sebastian Thiel
e2ef2dc721
Only watch a single project at a time.
Previously it would watch every registered project, which could incur more work
on all parts of the application than necessary.

Now UI sends an event that indicates which project is active, allowing the
watch to be setup in that very moment. It's worth noting that the previously
watched project is automatically deregistered.
2024-04-15 07:19:15 +02:00
Sebastian Thiel
c173d8074d
parallelize the delta computation 2024-04-15 07:11:16 +02:00
Sebastian Thiel
56642830f0
remove rate-limit as it never kicks in, and also, we'd want the computation for correctness 2024-04-15 07:11:16 +02:00
Sebastian Thiel
2e969d1507
collect filemonitor events into lists to avoid excessive recomputation.
Previously, each file change both in `.git` as well as in the worktree would
cause a complete recomputation. This computation included opening a git
repository at least once (probaby more often), to make an 'is-ignored' check.

The latter is very expensive in `git2` and gets more expensive the more
files there are.

Now the repository is opened when needed, and we re-use it for all applicable
file paths.
2024-04-15 07:11:16 +02:00
Sebastian Thiel
af225bd9e0
make events private and publicly export Event instead.
That way, we get `tauri::Event`, without the somewhat confusing
module  name `events`.
2024-04-15 07:11:16 +02:00
Sebastian Thiel
2eaba14819
dissolve the event queue in favor of method calls
The idea is that we don't parallelize over a channel anymore, but
instead just process filesystem events, one at a time.

This would allow each handler to become a function that gets its
state passed, and makes all the necessary calls verbatim, which
in turn makes it easy to follow what's happening.

If anything becomes to slow due to the serialization of event processing,
selective parallelization can be re-added.
2024-04-15 07:11:09 +02:00
Pavel Laptev
2c4b3adb89
fix: clickable prop for Button (#3513) 2024-04-15 02:35:22 +02:00
Caleb Owens
78a7d44b45 Merge origin/master into origin/always-await-promises 2024-04-14 20:25:44 +01:00
Caleb Owens
dada28b481 Refactor unsubscribe 2024-04-14 20:21:02 +01:00
Caleb Owens
41a56040a1 Move to in-try-catch option 2024-04-14 19:49:35 +01:00
Pavel Laptev
141c437296
Refactor: remove icon button component (#3509) 2024-04-14 00:44:43 +02:00
Sebastian Thiel
3902bb9b2d
de-objectify all sub-handlers
Sub-Handlers are objects, and with that comes a lot of complexity.
However, there seems to be on need for it at all, and a first
steps is to turn these into methods to truly understand
what's going on.
2024-04-13 23:09:17 +02:00
Sebastian Thiel
27349a2fa2
Remove Clone in the vincinity of Watchers where possible.
This will help to get away from from the 'everything needs to be shared'
approach to state.
2024-04-13 23:09:17 +02:00
Sebastian Thiel
cdae683757
Turn WatcherInner into Watcher
As `Watcher` really adds nothing.
2024-04-13 23:09:16 +02:00
Sebastian Thiel
1476ff01ee
Avoid managing every piece of the watcher, only manage what's currently needed 2024-04-13 23:09:16 +02:00
Sebastian Thiel
efe03a9b3a
Use the new dispatcher and make sure everything still works 2024-04-13 23:09:16 +02:00
Sebastian Thiel
954d100d95
simplify dispatcher around the idea of a single channel
That way, all objects go away and it will be nothing more than a task
around a channel.
2024-04-13 23:09:16 +02:00
Sebastian Thiel
52c637504e
Don't consume instances that are Send+Sync+Clone
They don't actually need it.
2024-04-13 23:09:16 +02:00
Sebastian Thiel
de6fd55658
remove try_new() in favor of new() in watcher.rs
`try_new()` here is used as constructor, which is what `new` is for
with less boilerplate.
2024-04-13 23:09:16 +02:00