forked from git-up/GitUp
-
Notifications
You must be signed in to change notification settings - Fork 0
Proof of concept: GPG signing #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
OdNairy
wants to merge
65
commits into
master
Choose a base branch
from
feature/gpg
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8f40793 to
3d5292e
Compare
…#696) * Handle user shell not being bash * Better handling for differences evaluating PATH in user shells * Follow Git behavior and fallback to using sh to execute hooks
* 📄 Fill in license * 💬 Change name Signed-off-by: Matthew Gleich <email@mattglei.ch> * 📄 Add description to license * 💬 Align license description with repo description
This reverts commit 9e4b37f.
* Xcode 12: Update to clang-format 11.0.0 * Xcode 12: Silence upgrade warnings * Xcode 12: Requires iOS 9 minimum * Xcode 12: Disable implicit ASi build
* macOS 10.13: Fix commit header bar colors * macOS 11: Fix welcome window contrast in dark mode * macOS 11: Fix alignment of "Also remove" accessory in reset alert * macOS 11: Opt out of some inset table views * macOS 11: Allow native separators in inset tables
It doesn't exit by [Spacebar], but it does by [Esc]
* macOS 11: Improve stage/unstage button contrast * macOS 11: Annotating alerts with destructive actions * macOS 11: Use native preference window * macOS 11: Update toolbar design
* Update Sparkle to 1.24.0 * Rewrite framework scripts for ASi and xcframeworks * Build new dependency xcframeworks * Integrate ASi frameworks and enable build * Remove old dependency builds
* Swap add and modify colors (blue <-> green) * Update icons for Big Sur
This allows for local compilation, however our CI is still failing on code signing with newer Xcode bump.
Replace resize masks with auto layout constraints. Compiling on macOS 11 for backwards compatibility seems to break resize masks in the NSTableView context.
When core.hooksPath is set, use it as hooks path. Resolves git-up#613.
* Introduce GIImageDiffView files This view will be used very similarly to GIDiffView, as both are variably sized diffing cell contents. * Attach GIImageDiffView to GIDiffContentData Again, similarly to the approach used for GIDiffView, we are attaching this content view to the diff data, so it can later be integrated into a cell. * Show a GIImageDiffCellView for image diffs Once again, this is mimicking GIDiffView and the associated GITextDiffCellView. For now we merely use the previously introduced imageDiffView as a way to identify whether an image cell should be shown. * Allow GIImageDiffView to request a height This will later be necessary to request enough height to display images at their full resolution (or a fraction of that depending on width constraints). * Inject GIImageDiffView into GIImageDiffCellView Following the example of GIDiffView, we attach (and detach) the content view to a designated cell. * Inject the repository into each GIImageDiffView To be able to export blobs of images later on, we'll need access to the repository. This commit lays the necessary foundation for that step. * Pass along the GCDiffDelta to GIImageDiffView Adds another necessary resource to be able to display images later on. * Add an image view for the current (new) image * Update the frame of the current image view * Update the current image when the delta is set This preliminary solution only covers showing the absolute newest version of the file and is therefore usually wrong. It does however establish the connection between delta, repository and the final image. * Avoid unnecessary image updates * Show the proper new file for all cases This code is very similar to the viewDeltasInDiffTool utility method, as we are fundamentally doing the same thing (exporting the image file referenced by the SHA1 value and then displaying it). The most noteworthy detail is that we are defaulting back to the canonical path for untracked files. * Add the second comparison image view * Position the old image view alongside the new one * Display the correct old comparison image This works analogous to the previously added updateNewImage method. The major difference is that we are looking at the oldFile and there is no fallback if it does not exist. * Add a method to calculate the combined image size The goal is to make the GIImageDiffView a slide style view image comparison tool, in which the two images are displayed in the same area, but hidden or revealed by sliding a divider across them. This method allows us to calculate how big this combined area needs to be. * Add a method to calculate the comparison frame This method is designed to work within a given frame and will return a rectangle that will provide the correct dimensions to display both the old and new image in a shared area. * Move old and new image into the shared area Currently this will overlay the old image over the new one. However, this is only setting up for the ability to partially hide both images. * Make the image diff view ask for the proper height Instead of asking for a somewhat random, large height to fit the image, we can now ask for exactly the required height. To do this, we try to fit the image at full resolution, but scale down according to width constraints if necessary. * Add percentage to keep track of shown fractions This property will be used to figure out how much to show of the old and new image. A value of 0 will represent showing just the new image, while a value of 1 will mean only the old image is shown. Everything in between will move the divider in between accordingly. * Reset the percentage when delta is updated * Partially hide the images according to percentage By using masking layers, we can easily hide parts of the old and new images. Originally, we considered drawing the images directly, but the draw calls turned out to be very slow. This mask layer solution seems to be about four times as fast. * Update the percentage according to mouse input By adding gesture recognizers to the view, we can use the entire image area as a large input field for the user to select the split between the old and new image. Whenever we change the percentage value we need to trigger a redraw. * Avoid implicit layer animation By default, changing a CALayer's frame causes it to animate to the new position. This prevents that behavior, as we need the change to happen as fast as possible. * Show the entire new image if there is no old one * Add a transparency background layer This adds the commonly used checkerboard transparency indicator. The pattern had already been used by the GIMapViewController, so no new assets were necessary. * Update colors on every draw call In order to reliably obey dark mode, it seems to be necessary to reassign the colors constantly. We tried to handle it via viewDidChangeEffectiveAppearance, but the behavior was unreliable. Since we couldn't notice any performance downsides to reassigning the colors with every draw call, we went with this solution. * Add indicator borders Another common design element in slide style image comparison tools are red and green borders to separate old and new images. This is a simple implementation of that, which once again reassigns the colors on every draw call to handle dark mode properly. * Add a divider line The final common design element of slider style image comparison tools. To further indicate where the old and new images meet, we add a thin line right between them. * Infer file type based on UTI The previous approach of initializing an NSImage to figure out whether a file is an image was questionable when taking large binaries into account. This new solution uses the file ending to determine the uniform type identifier of a file, which can be used to check for image files. * Limit maximum size of images in memory To ensure fast performance and a reasonable memory impact even for very large image files, we now create thumbnails of a limited size. * Restrict image diffing to NSImage compatible types * Separate image loading and cell size calculation To ensure maximum performance we now offload loading the image into memory to a separate thread. As we still need the image size to lay out cells properly, we query just this information before starting to load the full image. * Show the entire deleted image
The issue was the following: The bundle xctest couldn't be loaded. Try reinstalling the bundle.
…ght modifications where required.
Co-authored-by: Alejandro Mendoza <alejandromendoza@Alejandros-MacBook-Pro.local>
* Revert "Revert "Faster multiple file staging (git-up#629)"" 683f6de * Fix issue where repository wasn't notified of changes * Remove `GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH` as checkout strategy option * Escape paths to prevent them from being recognized as match patterns
10aa199 to
af7370c
Compare
The System Region leads to false positive test failures in some regions
Supported operations: * Commit * Merge * Cherry-pick
96d073e to
ac1ce50
Compare
* kit: interface node mrc has been removed. * kit: core repository reflog mrc has been removed. * kit: core snapshot mrc has been removed. * kit: interface graph view mrc has been removed. * kit: macos target has been updated.
… referenced outside of immediate directly. For more information see https://github.blog/2022-10-18-git-security-vulnerabilities-announced/#cve-2022-39253
…precation warnings.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
GPG feature implementation still in progress. However, you can download pre-built binary with modified bundle id by the next link:
GitUp prebuilt binary
GPG summary:
Update: On July, 3rd the branch was rebased on top of the latest upstream master.