Commit Graph

7507 Commits

Author SHA1 Message Date
Sebastian Thiel
203e43b9d1
Merge pull request #3883 from Byron/fix-3876
don't choke on .gitignore directories
2024-05-28 22:29:34 +02:00
Sebastian Thiel
5cad4dabc8
upgrade to latest gix-glob to prevent choking on directories called .gitignore (#3876)
This is also effective for `.gitattributes` directories, making `gitoxide`
act just like Git.

Note that `gix-fs` is updated just for a potential Windows fix which probably
doesn't matter.
2024-05-28 22:04:10 +02:00
Caleb Owens
b71a30258c
Merge pull request #3880 from gitbutlerapp/remote-branch-display
Add a "apply from remote" flow
2024-05-28 19:16:04 +02:00
Caleb Owens
aab5684be2 Redirect to branch page if there is a conflict 2024-05-28 17:54:35 +02:00
Caleb Owens
ed75059ee7 Update message to indicate that we're adding a remote 2024-05-28 17:53:20 +02:00
Kiril Videlov
f9ca7374e8
Merge pull request #3867 from Byron/ops-review
oplog-review
2024-05-28 17:35:43 +02:00
Sebastian Thiel
b0e73e5c89
oplog review 2024-05-28 17:22:02 +02:00
Kiril Videlov
e5fa064be5
Merge pull request #3873 from gitbutlerapp/update-gitbutler-integration
skip signing of the integration commit
2024-05-28 17:06:49 +02:00
Mattias Granlund
785bd3fb39 Fix slightly confusing code related to merging in trunk
- easier to understand if we only set branch.tree in one place
- enable ? return for git errors
2024-05-28 16:58:48 +02:00
Kiril Videlov
3494585679 plain commits for integration stuff
more
asdf
2024-05-28 16:48:07 +02:00
Caleb Owens
a6446b5aa9 Use sha to find PRs (also use upstream sha for vbranch when available)
Its preferable to use the upstream sha because that will always be in agreeance with the PR, whereas the local "head" may be different if you've rebased or moved forwards in time
2024-05-28 16:44:14 +02:00
Josh Junon
a6bad0ee13
Merge pull request #3878 from gitbutlerapp/null-stdin
disable stdin for invocations of ssh-keygen when signing commits
2024-05-28 14:00:23 +02:00
Caleb Owens
05d8480390 Add flow for adding a fork as a remote 2024-05-28 14:00:07 +02:00
Josh Junon
7098fbc11b
disable stdin for invocations of ssh-keygen when signing commits 2024-05-28 13:44:24 +02:00
Sebastian Thiel
12e45142b3
recover from empty reflog files for gitbutler/target ref
This also improves the tests quite a bit as it incorporates fixes
in `gix-ref`.

Also rename variables to be more descriptive, so instead of `something_sha`
name it `something_commit` as the object type is among the most interesting
bits of an object.
2024-05-28 13:25:46 +02:00
Sebastian Thiel
e82950f177
refactor reflog.rs and slightly adjust snapshot.rs
* reflog
    - use `gix` to parse reflog, both in code as well as in tests (to be sure it's not malformed)
	- avoid double-writes to reflog, instead finish transformation in memory and write final result
    - assure the ref is present, independently of the reflog, catching more 'weird' states.
* minor improvements to `snapshot.rs` to avoid unnecessary clones
2024-05-28 13:25:46 +02:00
Sebastian Thiel
d952db0920
adjust pub to make sense for actual usage (and after trait removal) 2024-05-28 13:25:46 +02:00
Sebastian Thiel
590d713f91
use git2::Oid instead of String; various small refactors 2024-05-28 13:25:46 +02:00
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
Caleb Owens
9956e9f889 Introduce rust code for listing and adding remotes 2024-05-28 11:54:01 +02:00
Caleb Owens
6d1ed8474c rename fetch_from_target to fetch_from_remotes 2024-05-28 10:14:35 +02:00
Caleb Owens
1645073d92 Introduce comments to clarify context of component usage 2024-05-28 10:09:37 +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