Kiril Videlov
a2682e2535
implement undo stack snapshotting
2024-04-25 19:23:13 +02:00
Mattias Granlund
cac2b6a80b
Merge pull request #3609 from gitbutlerapp/Fix-bug-where-sometimes-lock-commit-info-is-unavailable
...
Look up locked commit from remote commits as well
2024-04-25 19:22:11 +02:00
Mattias Granlund
ebc696ad26
Look up locked commit from remote commits as well
...
- also filters for unique commits, should really be done in the back end
2024-04-25 19:07:41 +02:00
Sebastian Thiel
066d520f1a
less cumbersome error handling for Git errors
2024-04-25 16:42:11 +02:00
Mattias Granlund
e0c2d82127
Reset files into the same branch they were committted to
...
- regressed when switching to blame for hunk locking
2024-04-25 16:42:11 +02:00
Mattias Granlund
44c64565a2
Add test to ensure hunks can lock across branches
...
- makes no assertions about how the hunk is displayed
2024-04-25 16:06:03 +02:00
Mattias Granlund
d79b126c59
Remove repetition in create_commit.rs
test code
2024-04-25 16:06:03 +02:00
Josh Junon
812b4ea27c
Merge pull request #3603 from Byron/windows-improvements
...
windows improvements
2024-04-25 12:23:26 +02:00
Sebastian Thiel
29525ffd03
address review comments
...
- rename feature to `windows`
- remove unused config key from `Cargo.toml`, unfortunately `cfg` isn't available for everything
- make sure feature is toggled on on CI when checking and when publishing
2024-04-25 11:29:24 +02:00
Sebastian Thiel
3058ffbc9b
avoid showing colors in Windows logs ( #3601 )
...
People can't copy it without the terminal-escape code, making it harder to read.
2024-04-25 08:19:59 +02:00
Sebastian Thiel
74eb7bd397
on Windows, update far less often on filesystem changes. ( #3601 )
...
By increasing the window size for collecting filesystem events,
knowing that each event is processed in parallel, we might be lucky
and that already reduces the likelyhood of clashes.
It's an experiment though.
On Unix, run with:
`LOG_LEVEL=debug pnpm tauri dev --features adapt-to-windows`
2024-04-25 08:17:11 +02:00
Kiril Videlov
bb48dff72a
project deleteion cleans up virtual_branches.toml
2024-04-24 17:50:39 +02:00
Pavel Laptev
65f2dc1fa5
fix: didn't show error comes from Rust ( #3599 )
2024-04-24 17:20:15 +02:00
Josh Junon
40f7234708
Merge pull request #3596 from Byron/fix-mode-windows
...
avoid to make files executable on Windows (#3329 ).
2024-04-24 16:23:35 +02:00
Josh Junon
f92c94ff46
build gitbutler-git binaries prior to tests
2024-04-24 16:13:05 +02:00
Sebastian Thiel
a46de60d10
make tests work
...
This is accomplished by settig the test-feature when running `core` tests.
There is also a safeguard to help assuring this doesn't land in production.
2024-04-24 16:13:05 +02:00
Kiril Videlov
7f4aec50cf
make git system executable the default auth flow
2024-04-24 16:13:05 +02:00
Sebastian Thiel
34770a4b77
avoid forcefully making files executable on Windows ( #3329 ).
...
Instead, respect the existing bit if set in Git, but do not try
to derive it from the filesystem which is something Git doesn't
seem to be doing on Windows either.
This also makes me think that `gitoxide` should make it easy
to build a tree from a file and deal with this.
2024-04-24 15:14:22 +02:00
Sebastian Thiel
6033a62a94
use gix::tempfile
in place of the tempfile
.
...
This allows to unify handling of filewrites in more places.
2024-04-24 13:14:20 +02:00
Sebastian Thiel
813ba8f2d6
Merge pull request #3593 from Byron/locks-for-writers
...
use tempfiles for file mutations
2024-04-24 10:55:10 +02:00
Sebastian Thiel
6665bc9289
Use a temp-file to write new content atomically in storage layer ( #2807 )
...
This will prevent half-written content on disk in case the write is interrupted.
Lock files are *not* used as the assumption is that a lock is held centrally.
2024-04-24 10:38:48 +02:00
Mattias Granlund
90cf617a4f
Add test for locking hunk to two different commits
2024-04-24 08:15:01 +01:00
Mattias Granlund
5134460875
Tighten locking tests
...
- with blame based lock a change can touch a committed line, but not overlap
2024-04-24 08:15:01 +01:00
Mattias Granlund
c202d83b6b
Allow hunk locking to multiple commits
...
- adds `locked_to` field to `GitHunk` to avoid looking it up again
- sends array to ui instead of single commit id
2024-04-24 08:15:01 +01:00
Mattias Granlund
a664c85a9a
Fix typo
2024-04-24 08:15:01 +01:00
Mattias Granlund
8140afb88b
Use adjacent hunks in commit/lock detection test
...
We still need to fix the off-by-one bug affecting hunk end lines. When we add start_line + line_count we end up with an extra line. For example, with start_line 1, and line_count 1, the range is 1:1, not 1:2.
2024-04-24 08:15:01 +01:00
Mattias Granlund
0a1fbdce9a
Add integration_commit_id
as optional param to update_gitbutler_integration
2024-04-24 08:15:01 +01:00
Mattias Granlund
811f0ee35b
Blame across workspace instead of by branch
...
- refactors `update_gitbutler_integration`
- creates new `get_workspace_head` function
- ignore locking when resolving merge conflicts
2024-04-24 08:15:01 +01:00
Mattias Granlund
2f7b396ab8
Remove extra indirector for blame function
2024-04-24 08:15:01 +01:00
Mattias Granlund
8dd4a92622
Use empty vector instead of None
2024-04-24 08:15:01 +01:00
Mattias Granlund
055c7e7119
Use blame for hunk locking
...
- replaces commit walking with a git blame
- limited to specific hunk lines
- earliest_commit set to default target
- lock if any blame other than boundary commit
- intersection uses context lines
2024-04-24 08:15:01 +01:00
Pavel Laptev
bc7d3c7309
Design tokens typos fix ( #3588 )
2024-04-23 16:37:58 +02:00
Pavel Laptev
683beffc1f
Design tokens typos fix ( #3587 )
2024-04-23 16:20:52 +02:00
Sebastian Thiel
aa3d3cb7da
fix rustfmt formatting issues due to line-length ( #3039 )
...
The trick is to temporarily set `max_width` in `rustfmt.toml` to 120,
then set it back to the default of 100 (or remove the file).
2024-04-23 12:53:56 +02:00
Sebastian Thiel
5ea4bb3c58
don't fail if a ref can't be peeled ( #3129 )
...
Sometimes, symbolic refs are used as tracking branches, like
`refs/remotes/origin/HEAD`, and after some changes are dangling,
pointing to a ref which doesn't exist anymore (maybe it was renamed
from `master` to `main`).
Now, this isn't fatal anymore, but will be logged instead.
2024-04-23 12:53:56 +02:00
Josh Junon
b70a2eef6f
Merge pull request #3585 from gitbutlerapp/upload-windows-aux-artifacts
...
upload windows aux artifacts
2024-04-23 11:35:49 +02:00
Sebastian Thiel
118bea95d1
for HTTP-based errors, attach Code to allow UI to show improved message ( #2886 )
...
Now thanks to a specific `Code`, the UI could display special text to help users
solve the issue related to workflow files.
2024-04-23 11:32:53 +02:00
Sebastian Thiel
bb7824e7c0
assure that root-causes are always provided instead of "Something went wrong". ( #2886 )
...
In the previous commit it was stated that the 'unfolding' of errors might
have been intentional to surface root causes of error messages.
However, this might have been wrong, and this commit brings back root-causes explicitly,
while erroring on the side of caution. That is, "Something went wrong" probably won't
be shown anymore, instead, possibly too much will be displayed and we'd rather tune
that down once it becomes clear which messages are needed, or should be improved.
Overall, I think it's best to show more, and then tune errors with custom context
where needed.
2024-04-23 11:32:53 +02:00
Sebastian Thiel
6f764f5fd6
assure important errors are passed as context ( #2886 )
...
Previously, errors would be 'unfolded' so there was no error chain,
but the lowest error would become the top-most one that way.
I thought this was accidental, but it turns out that it wasn't.
To fix this generally, make sure that we always use the message
of the lowest-possible error if no context is provided.
2024-04-23 11:32:53 +02:00
Sebastian Thiel
9bbba057f4
fix some typos that could be user-facing
2024-04-23 11:32:53 +02:00
Josh Junon
e598962eaf
upload windows aux artifacts
2024-04-23 11:20:34 +02:00
dependabot[bot]
df0fc97731
Bump the npm-updates group with 8 updates
...
Bumps the npm-updates group with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [openai](https://github.com/openai/openai-node ) | `4.33.1` | `4.38.2` |
| [@sentry/sveltekit](https://github.com/getsentry/sentry-javascript ) | `7.110.1` | `7.111.0` |
| [@types/diff](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/diff ) | `5.0.9` | `5.2.0` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin ) | `7.6.0` | `7.7.0` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser ) | `7.6.0` | `7.7.0` |
| [posthog-js](https://github.com/PostHog/posthog-js ) | `1.121.4` | `1.128.2` |
| [prettier-plugin-tailwindcss](https://github.com/tailwindlabs/prettier-plugin-tailwindcss ) | `0.5.13` | `0.5.14` |
| [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte ) | `4.2.14` | `4.2.15` |
Updates `openai` from 4.33.1 to 4.38.2
- [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.1...v4.38.2 )
Updates `@sentry/sveltekit` from 7.110.1 to 7.111.0
- [Release notes](https://github.com/getsentry/sentry-javascript/releases )
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/7.111.0/CHANGELOG.md )
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.110.1...7.111.0 )
Updates `@types/diff` from 5.0.9 to 5.2.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/diff )
Updates `@typescript-eslint/eslint-plugin` from 7.6.0 to 7.7.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.7.0/packages/eslint-plugin )
Updates `@typescript-eslint/parser` from 7.6.0 to 7.7.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.7.0/packages/parser )
Updates `posthog-js` from 1.121.4 to 1.128.2
- [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.121.4...v1.128.2 )
Updates `prettier-plugin-tailwindcss` from 0.5.13 to 0.5.14
- [Release notes](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/prettier-plugin-tailwindcss/compare/v0.5.13...v0.5.14 )
Updates `svelte` from 4.2.14 to 4.2.15
- [Release notes](https://github.com/sveltejs/svelte/releases )
- [Changelog](https://github.com/sveltejs/svelte/blob/svelte@4.2.15/packages/svelte/CHANGELOG.md )
- [Commits](https://github.com/sveltejs/svelte/commits/svelte@4.2.15/packages/svelte )
---
updated-dependencies:
- dependency-name: openai
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: npm-updates
- dependency-name: "@sentry/sveltekit"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-updates
- dependency-name: "@types/diff"
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: posthog-js
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: npm-updates
- dependency-name: prettier-plugin-tailwindcss
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
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-04-23 01:00:21 +02:00
Pavel Laptev
5c9ce25cd0
Infomessage
improvments (#3577 )
...
* `InfoMessage` structure consistancy improved
- `title` property removed
- unnamed `slot` for content dropped
* Added `errorMessage` attr to the `ToastController`
2024-04-22 21:44:28 +02:00
Kiril Videlov
a96e8574be
feat: search by branch
...
This adds the ability to search branches by the author name. This is a port of #2852
2024-04-22 15:22:57 +02:00
Pavel Laptev
ca0a4cb92e
tokens refactor ( #3578 )
2024-04-22 12:12:27 +02:00
Josh Junon
31ce4574bd
Merge pull request #3575 from gitbutlerapp/Fix-Gitea
...
Allow SSH remotes to use any port
2024-04-22 11:47:04 +02:00
Sebastian Thiel
b60d49f752
a clear error message when bare repositories are encountered and rejected ( #2704 )
...
This also rewrites some other checks in preference of opening the git directory
in isolation. Doing so is very fast, and the only way to know for certain if a
repository is bare.
In future, once the repository is more separated from the worktree (in terms of mindset)
it should be possible to handle bare repos with worktrees as well.
2024-04-22 11:01:07 +02:00
Sebastian Thiel
a5bda226ef
provide better errors when adding a project ( #2608 )
...
The issue initially was that the wrapping of anyhow around a `thiserror`
type, which is when manually added context gets lost as there is no way
to downcast such an `anyhow` error back to a concrete type without
wanting to know it.
The solution was to remove the intermediate `thiserror` type which didn't
serve an actual purpose.
2024-04-22 10:59:03 +02:00
Kiril Videlov
115425d7d6
Merge pull request #3552 from Byron/binary-diff
...
binary diff
2024-04-22 10:57:46 +02:00
Caleb Owens
76556eb6c8
Remove useless reference
2024-04-21 22:45:00 +01:00