Commit Graph

7086 Commits

Author SHA1 Message Date
Sebastian Thiel
a5f71be44c
avoid separate exists-checks in favor of detailed error handling
That way we are less racy and do less IO.
2024-05-28 13:25:46 +02:00
Sebastian Thiel
e3156ba75c
remove single-use traits while leaving the structure as is 2024-05-28 13:25:46 +02:00
Sebastian Thiel
346c96869e
small refactors (see body for details)
- instrument snapshot creation to assure we see errors (which are ignored in code)
- move tests for public `entry` types into integration tests
- rename `OperationType` to `OperationKind` as it's more commmon in Rust
- Use `Copy` where possible
- streamline implementation: remove clones and allocations, without going zero-copy
- Prefer direct calls to traits to avoid `write!("{}")` just to invoke a trait fmt implementation
- avoid `pub` when `pub(crate)` will do
- strong type for created_at
2024-05-28 13:25:46 +02:00
Sebastian Thiel
9270ad9c1f
Assure tests don't pick up the developers signing configuration.
Otherwise tests will end up signing commits which is slow and
a side-effect we should test for explicitly.
2024-05-28 13:25:46 +02:00
Sebastian Thiel
6224c70695
fix integration test structure to assure tests run only once.
Previously, tests were included by `app.rs` which is the entrypoint
for intgration tests, but there were also loose `.rs` files which
each count as separate test (with their own binary).

This wasn't intended and I don't know what happened there,
so now `core.rs` is the entrypoint.
2024-05-28 13:25:45 +02:00
Kiril Videlov
732a8f68e4
Merge pull request #3872 from gitbutlerapp/dependabot/npm_and_yarn/npm-updates-982e9b69a2
Bump the npm-updates group with 4 updates
2024-05-27 17:31:45 +02:00
dependabot[bot]
7aa532d6c2
Bump the npm-updates group with 4 updates
Bumps the npm-updates group with 4 updates: [@playwright/test](https://github.com/microsoft/playwright), [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) and [posthog-js](https://github.com/PostHog/posthog-js).


Updates `@playwright/test` from 1.44.0 to 1.44.1
- [Release notes](https://github.com/microsoft/playwright/releases)
- [Commits](https://github.com/microsoft/playwright/compare/v1.44.0...v1.44.1)

Updates `@typescript-eslint/eslint-plugin` from 7.9.0 to 7.10.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.10.0/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 7.9.0 to 7.10.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.10.0/packages/parser)

Updates `posthog-js` from 1.131.4 to 1.135.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.131.4...v1.135.2)

---
updated-dependencies:
- dependency-name: "@playwright/test"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  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
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-27 15:18:55 +00:00
Caleb Owens
ebee68278b
Merge pull request #3871 from gitbutlerapp/fix-trunk-not-displaying
fix-trunk-not-displaying
2024-05-27 11:56:05 +02:00
Caleb Owens
691f8b75bd Update styles 2024-05-27 11:44:02 +02:00
Caleb Owens
a0c29be88e Fix trunk not displaying 2024-05-27 11:42:43 +02:00
Caleb Owens
94f34ba1d4
Merge pull request #3854 from gitbutlerapp/Fetching-and-using-non-origin-remotes
Improve usage of remotes that have been added by the user
2024-05-27 09:58:51 +02:00
Pavel Laptev
3f291bd9db
remove console.log (#3870) 2024-05-27 02:42:34 +02:00
Kiril Videlov
ab0d746d22
Merge pull request #3869 from gitbutlerapp/remove-unused-feature-flag-for-snapshotting-feature
remove unused feature flag for snapshotting feature
2024-05-27 00:02:32 +02:00
Kiril Videlov
1fbb756183 remove unused feature flag for snapshotting feature 2024-05-26 23:50:19 +02:00
Pavel Laptev
e7fd4c4457
UI: Lane and commit messages design (#3868)
* UI: Remove icons for commit groups

* UI: added paddings

* Added folding base row + styles tweek

* Commits section: update styles

* UI: commit card layout update

* UI: empty commit message style

* UI and refactor

- Update files list UI
- components rename
- show author for upstream commits

* UI updates

- File list history list UI
- Commit card UI

* UI: Commits footer empty state update
2024-05-26 23:24:53 +02:00
Kiril Videlov
c553215d5a
Merge pull request #3866 from gitbutlerapp/use-git-executable-default
feat: Update the title of the "Use a Git executable" option
2024-05-26 09:56:19 +02:00
Kiril Videlov
690a1ed589 feat: Update the title of the "Use a Git executable" option
Mention that is the default for anybody who plays around with the different settings
2024-05-26 09:54:41 +02:00
Sebastian Thiel
9fdad98d8c
Merge pull request #3865 from Byron/fix-panic
avoid assertions as they may cause the UI to 'hang'
2024-05-26 09:26:42 +02:00
Sebastian Thiel
f6dcf5d8c6
avoid assertions as they may cause the UI to 'hang' (#2657)
Panicked commands lead to timeouts, which are hard to debug unless
one sees the panic information in the log.
2024-05-26 08:44:55 +02:00
Kiril Videlov
d0e1d24b72
Merge pull request #3864 from gitbutlerapp/sync-project-repository-code
first stab at resurecting git sync
2024-05-25 23:24:50 +02:00
Kiril Videlov
762bb31dea first stab at resurecting git sync 2024-05-25 23:07:40 +02:00
Kiril Videlov
f71b76ccb4
Merge pull request #3859 from Byron/win-tempfile
minor Windows adjustments
2024-05-25 22:08:32 +02:00
Kiril Videlov
d96e5cda80
Merge pull request #3863 from gitbutlerapp/escape-trailer-newline
feat: Add support for trailers with newlines
2024-05-25 21:17:23 +02:00
Kiril Videlov
bf3611fefa feat: Add support for trailers with newlines
Escaping the newlines since the tailers are new line delimited. This is relevant when storing things like commit messages
2024-05-25 21:03:14 +02:00
Sebastian Thiel
73c21f2e42
provide more information in watcher-related errors
related to https://github.com/gitbutlerapp/gitbutler/issues/2657#issuecomment-2131307753

It turns out that the UI triggers `set_project_active()`, and then moves on and emits more
commands, some of which depend on a watcher being present.

The UI could wait, but even if it does the 'endless spinner' happens.
2024-05-25 20:35:40 +02:00
Pavel Laptev
198e72612c
Time units shorthand (#3862) 2024-05-25 18:51:05 +02:00
Sebastian Thiel
0ffa9e814c
add more information on how to cross-compiile on Windows 2024-05-25 16:39:57 +02:00
Pavel Laptev
9a42f8b2eb
Copy changes, added commit message (#3860) 2024-05-25 16:37:59 +02:00
Sebastian Thiel
f59268fb25
Allow local overrides for the target triple of production windows builds.
The use-case is somewhat specific as it allows developers to do:

```
export TRIPLE_OVERRIDE=x86_64-pc-windows-msvc
```

and build the binary as x86 even on an ARM VM.
The reason ARM builds don't work natively is the `win32` crate,
which simply doesn't work there.

It could be another step to replace it with something that does
to get ARM builds, but probably that will only happen once
there is demand for native ARM windows builds.
2024-05-25 15:05:43 +02:00
Sebastian Thiel
a176bf04cf
remove Windows experiment (#3601)
The sync-all didn't do anything, and one would still run into locked
files.
2024-05-25 09:10:11 +02:00
Sebastian Thiel
1dc8988c3c
Merge pull request #3858 from Byron/quick-fix
`now_since_unix_epoch_ms` now uses negative dates for times pre Unix-epoch
2024-05-25 08:17:50 +02:00
Sebastian Thiel
9245e3458f
now_since_unix_epoch_ms now uses negative dates for times pre Unix-epoch 2024-05-25 07:45:18 +02:00
Kiril Videlov
1eae74eb54
Merge pull request #3857 from Byron/remove-chrono
remove `chrono` from `core`
2024-05-24 22:56:16 +02:00
Sebastian Thiel
2ed708b298
remove chrono which was only used for 'now in milliseconds, relative to UNIX epoch' 2024-05-24 21:38:11 +02:00
Kiril Videlov
528c0d7598
Merge pull request #3856 from gitbutlerapp/branch-refactor-branch-implementation
remove unsed branch from implementation
2024-05-24 20:41:58 +02:00
Kiril Videlov
623500a25e remove unsed branch from implementation 2024-05-24 20:29:31 +02:00
Caleb Owens
4fcc3149e5 Improve handling of PRs on the frontend
This removes the need for "isBranchNameMatch" now that it is valid for multiple remotes to be present, there are no guarentees that a branche's name will be unique
2024-05-24 16:54:27 +02:00
Kiril Videlov
319550d7b5
Merge pull request #3850 from Byron/review-and-refactor
Watcher adjustments
2024-05-24 16:38:18 +02:00
Sebastian Thiel
e68b789a32
remove unused methods in FileId map, and revert to what seemed functional.
Previously, roots were always empty and it was unclear what the purpose
of the customization was.

It's probably best to re-add it along with a test maybe.
2024-05-24 16:21:26 +02:00
Sebastian Thiel
cdf508e04c
Show what changed to get the version we currently have
This reverts commit 547f2ffada.

That way it's more obvious when looking at the history what was added
and changed.
2024-05-24 15:44:13 +02:00
Sebastian Thiel
547f2ffada
re-add original code to see what changed 2024-05-24 15:42:17 +02:00
Sebastian Thiel
6596f3956e
adapt debouncer tests with the changed codebase 2024-05-24 15:38:46 +02:00
Caleb Owens
571f16b8b2 Allow non-origin main branches to be listed 2024-05-24 15:22:34 +02:00
Caleb Owens
27f3b65b79 Fetch non-origin remotes 2024-05-24 14:58:56 +02:00
Caleb Owens
2b53c7e693
Merge pull request #3847 from gitbutlerapp/revert-3830-core-util-duration-updates
Revert "Replace integer timestamps with Duration"
2024-05-24 14:36:12 +02:00
Caleb Owens
4cae28668b
Merge branch 'master' into revert-3830-core-util-duration-updates 2024-05-24 14:20:55 +02:00
Pavel Laptev
493f64162a
UI: adde position to dropdown component (#3852) 2024-05-24 14:01:23 +02:00
Sebastian Thiel
edd8d54950
copy tests from notify-debouncer-full as well (verbatim)
While at it, remove the docs as they are referring to the original source code.
Tests should help to understand how it is supposed to work.

Note that the copy is verbatim and modifications will happen in a separate commit,
along with the necessary license declarations.
2024-05-24 13:50:03 +02:00
Sebastian Thiel
86edb4627d
reorganize watcher modules for more consistency 2024-05-24 13:28:34 +02:00
Sebastian Thiel
80b9598d5a
remove (some) unused code; minor refactor 2024-05-24 13:28:33 +02:00