| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Fix macOS 27 table selection | 1 个月前 | |
Resolve repository hooks from the common directory (#2813) Git stores hooks in the repository's common directory, which is shared by all linked worktrees. -pathForHookWithName: derived the default hooks path from self.repositoryPath, i.e. git_repository_path(), which for a linked worktree is the per-worktree git directory. That directory never contains a hooks directory, so GitUp silently failed to find pre-commit, pre-push, and other hooks when operating on a worktree (issue #1053). Use git_repository_commondir() for the default hooks path instead. For a plain (non-worktree) repository the common directory is the git directory, so behavior is unchanged there; only linked worktrees now resolve hooks correctly. Fixes #1053 | 1 个月前 | |
Bump to macOS 12.4 min target (#2785) * Bump to macOS 12.4 min target Uses angle bracket notation for public framework imports * Fix test cases | 4 个月前 | |
Add SSH commit signing for HEAD commits (#2789) ## Summary Hi! This PR adds SSH commit signing support for GitUpKit user-facing HEAD commit flows. Repositories configured like the Git CLI with `commit.gpgsign=true` and `gpg.format=ssh` now create commits with a `gpgsig` SSH signature for normal commits, merge commits, amend, and conflict-resolution commits. To limit changes scope, the change intentionally supports only SSH signing. Non-SSH signing formats, including OpenPGP and X.509, continue to produce unsigned GitUp commits rather than blocking existing workflows. History replay/reorder paths also remain unsigned; signing those GitUp-created rewrite commits can be considered separately from signing commits users make directly. ## What changed - Adds a private `GCCommitSigning.m` helper that creates the unsigned commit buffer, signs it with SSH, and writes the signed object through libgit2. - Resolves SSH signing config from `user.signingkey`, inline SSH public keys, and `gpg.ssh.defaultKeyCommand`. - Uses `gpg.ssh.program` or `ssh-keygen`, launched with GitUp login-shell PATH handling so GUI-launched GitUp can find shell-installed signers. - Routes user-facing HEAD commit creation through the signing-aware helper while leaving replay/rewrite helpers unchanged. - Adds focused signing tests plus HEAD integration coverage for signed normal, merge, and amended commits. ## Tests - Focused GitUpKit signing and HEAD integration tests pass. - Test coverage includes unsigned behavior when signing is disabled, unsigned behavior for unsupported non-SSH formats, missing key errors, inline key and default key command resolution, key path signing, signer failure, and Git CLI `verify-commit` verification with an allowed signers file. ## Notes - I AGREE TO THE GITUP CONTRIBUTOR LICENSE AGREEMENT - I am not an Obj-C or even MacOS developer at all so if anything's not up to the project standards, please let me know - I'm not clear on the wishes of the contribution guidelines around commits, as I normally just have GitHub squash PR commits on merge. Please let me know if you'd like them pre-flattened or whatever. - Fixes (partially? because we're not signing all commits yet, might follow up with another PR) https://github.com/git-up/GitUp/issues/1036. - Note how all the commits in this PR show up as "Verified" on GitHub 😉 Some repos actually require that, hence my doing this. | 1 个月前 | |
Bump to macOS 12.4 min target (#2785) * Bump to macOS 12.4 min target Uses angle bracket notation for public framework imports * Fix test cases | 4 个月前 | |
Convert XLFacility into standard os_log functions | 4 年前 | |
Use ssh_exec from libgit2 (#2787) I accidentally reverted back to using libssh2 forgetting that it couldn't load in the ssh keys from config files without workarounds. This PR rebuilds the libgit2 framework with that flag disabled and points to a new libgit2 commit that fixes the zombied ssh process. | 4 个月前 | |
Bump to macOS 12.4 min target (#2785) * Bump to macOS 12.4 min target Uses angle bracket notation for public framework imports * Fix test cases | 4 个月前 | |
Add "Push Current Commit Tags" action to Remotes menu (#2808) * Add "Push Current Commit Tags" action to Remotes menu Adds a Remotes menu item (Cmd+Shift+Ctrl+T) that pushes the tags pointing at the current commit to all remotes. The current commit is the commit selected in the graph, or HEAD when nothing is selected. Tags are force-pushed, consistent with the existing tag push behavior in GitUp. The menu item is disabled when the current commit has no tags. * Use a dedicated suppression key for pushing current commit tags Pushing the current commit tags force-pushes to every remote, which has a larger blast radius than the single-tag-to-single-remote push that owns kUserDefaultsKey_SkipPushTagWarning. Sharing the key meant suppressing the narrower dialog would silently skip confirmation for the broader action. --------- Co-authored-by: NikeKov <nikkkovios@gmail.com> | 1 个月前 | |
Convert XLFacility into standard os_log functions | 4 年前 | |
updated copyright year (#979) | 2 年前 | |
Improved build script for GitUpKit [ci skip] | 10 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 1 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 4 个月前 | ||
| 4 年前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 1 个月前 | ||
| 4 年前 | ||
| 2 年前 | ||
| 10 年前 |