forked from SwiftGit2/SwiftGit2
-
Notifications
You must be signed in to change notification settings - Fork 11
Migrate SwiftGit2 project to Swift Package Manager #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
mbernson
wants to merge
24
commits into
master
Choose a base branch
from
swift-package-manager
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.
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
- Restructure to a standard Swift package structure. - Rename `Clibgit2` import to `libgit2`. - Update tests to use the latest versions of Nimble and Quick. To do: - Fork libgit2 to the SwiftGit2 organisation, so we can add the Package.swift manifest there. - Compile LibSSH2 and OpenSSL as XCFrameworks, and add them as dependencies.
d444499 to
9c85a90
Compare
573d871 to
f693cdb
Compare
Co-authored-by: Christian Tietze <[email protected]>
53e8947 to
ca3d5ab
Compare
Update the URL for the test that clones a repository. The repo `github.com/libgit2/libgit2.github.com.git` is over 5GB in size when checked out. Using github.com/libgit2/TestGitRepository.git instead, which is way smaller.
An enum named `SwiftGit2` was used as a namespace before. But that makes it impossible to refer to a fully qualified type name such as `SwiftGit2.Tag`.
Use the setup-xcode GitHub Action, which is more reliable than calling `xcode-select` manually.
A compilation error was caused by the zlib dependency that is bundled
with libgit2. This particular version of zlib fails to compile on
Clang 17 with the error "Expected identifier or '('".
This problem was fixed in libgit2 v1.9.0 in which they updated zlib.
However, libgit2 v1.9.0 introduced a new compilation issue:
an unterminated multiline comment, which is fixed in this
commit which is not part of any libgit2 release yet:
libgit2/libgit2@2fa13ad
When I check out the libgit2 submodule at that commit
(and remove a reference to a deprecated constant from SwiftGit2) it is solved.
Changes in this commit:
* Updates libgit2 to 2fa13adf09c8dd1f334f57023390043ea3f71cb2, this is
needed to fix the compilation issues.
* Removes reference to deprecated constant `GIT_OBJECT_REF_DELTA`, which
wasn't being used in SwiftGit2.
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.
Clibgit2import tolibgit2.To do: