Commit Graph

7267 Commits

Author SHA1 Message Date
Kiril Videlov
d97bba0001 remove git::Tree from branch 2024-05-29 13:24:47 +02:00
Kiril Videlov
3c151a52cb create a tree extension trait
this is useful for preserving functionality that we have added on top of git2::Tree
2024-05-29 11:15:46 +02:00
Caleb Owens
4ba15c3663 Make clippy a happy clippy 2024-05-29 11:14:29 +02:00
Caleb Owens
faa476875d Replace &BranchId to BranchId 2024-05-29 11:07:36 +02:00
Caleb Owens
0db12b5115 Don't pass references to project_id 2024-05-29 10:47:11 +02:00
Caleb Owens
c5d841a417 Tweaks to remotes code 2024-05-29 09:52:03 +02:00
Kiril Videlov
aed23f3e69
Merge pull request #3884 from gitbutlerapp/remove-core-git-shell-types
move get_wd_tree to git2::Repository extension trait
2024-05-28 23:46:43 +02:00
Kiril Videlov
4db276354b remove unused import 2024-05-28 23:32:33 +02:00
Kiril Videlov
cc5e0bd8bd remove unused repository method 2024-05-28 23:20:26 +02:00
Kiril Videlov
ce5e57d5ac move get_wd_tree to git2::Repository extension trait
This way we reduce drilling and allow ourselves to eventually remove core::git types
2024-05-28 23:17:54 +02:00
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