profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/lolgear/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

anytypeio/go-threads 10

Textile's threads implementation in Go

lolgear/Base64CoderSwiftUI 2

This is a simple base64 coder with dynamic updates.

lolgear/JWT 1

A JSON Web Token implementation in Objective-C.

lolgear/ABPadLockScreen 0

A simple keypad lock screen for the iPad

lolgear/adium 0

Official mirror of hg.adium.im

lolgear/AlgorithmsDesignAndAnalysisInEllipsis 0

Algorithms. Design and analysis in ...

lolgear/Base64 0

Objective-C Base64 Additions for NSData and NSString

lolgear/Cassowary 0

An incremental linear constraint-solving algorithm (Auto Layout) in Swift.

lolgear/CocoaLumberjack 0

A fast & simple, yet powerful & flexible logging framework for Mac and iOS

lolgear/cocoapods-acknowledgements 0

CocoaPods plugin that generates a plist which includes the installation metadata

pull request commentgit-up/GitUp

GitUp. libgit2 main branch after v1.1.1

@lucasderraugh Any chance we can merge it before Monterey release?

lolgear

comment created time in a day

pull request commentlibgit2/libgit2

[Distribution] Swift package manager

Overview

This PR contains only a draft, but it works for different project. ( I hope it will be merged ). Why is it useful? Because people don't want to use XcodeProject files, even if they are generated by cmake. Cmake has its own limitations, because it doesn't use Xcode build settings and put everything in other linker or other C flags. It also can't generate relative paths as far as I remember. One big issue with it that it can't generate .xcframeworks ( new binary format from Apple ). In these circumstances you have to either:

  • keep project with fixed file paths ( should be relative so everyone could build your project ).
  • generate libgit2 project in new setup ( new developer download project or you want to download clean version from remote ).

SPM solve many issues.

  • You don't need to generate SPM file each time you add new features in libgit2.
  • It gives you support for xcfraneworks for free.
  • It is small and easy-to-use by human and by difftool. ( XcodeProject is the worst file format for git ever ).
  • It is flexible ( you can adjust settings in compile time, because it is Source file ).

So, SPM is a virtue...

But it is also very rigid about headers and sources.

It uses -fmodules flag and current libgit2 doesn't compile. Also it generates warnings if folders layout is not ok. It can't ignore headers and ( that is why ) ntlmclient is treated as misconfigured. ( ntlmclient.h doesn't contain other headers in the same directory and it is also has a name as target directory and is treated as umbrella header ).

I still think that SPM can be a good alternative to CMake. ( for C libraries in Apple ecosystem right now ).

Current state

This PR is encountering some issues. The blocking issue is -fmodules which builds Darwin module with all headers. Here we have collisions of struct entry, it is defined in system header and in libgit2.

Other issues are solved by my previous PRs ( as far as I remember ).

It would be nice if @ethomson can apply patches to struct entry ( by adding unique prefixes ).

Purpose and final thoughts

Future is... future is unknown. I'm very upset about libssh2. It doesn't provide wrappers for CommonCrypto and Security frameworks. So, it is impossible to use libgit2 without libssh2 without libopenssl.

It is also impossible to keep this file in a root directory, because it requires binaries ( libssh2, libssl ).

Current SPM doesn't support ( am I missing something, because Xcode was released several days ago ) scripts out-of-the-box ( but it is possible to do some scripting in it ).

Steps

Without patches for struct entry it is impossible ( very good word, isn't it? ) to use this library as SPM package.

  1. Add patches for struct entry ( by adding prefixes )
  2. Prepare a script which copies this file to root directory
  3. Solve binary dependencies. ( via script ). It is possible to download dependencies to binaries directory.
lolgear

comment created time in 2 days

issue commentgit-up/GitUp

Please add a donate feature.

Can we add donate feature?

NikKovIos

comment created time in 5 days

issue commentgit-up/GitUp

GitUpKit. Replace Xcode project with SPM package.

Also this approach eliminates code signing for GitUpKit and removes shared configurations.

lolgear

comment created time in 19 days

issue openedgit-up/GitUp

GitUpKit. Replace Xcode project with SPM package.

It is possible to completely remove GitUpKit Xcode project and wrap GitUpKit in SPM package. There are two advantages.

  1. GitUpKit can be published ( some parts of it ) as SPM package.
  2. All boilerplate with Xcode project will gone.

SPM package is convenient. Adding/removing targets, files. Adding/removing dependencies. Managing platforms and versions.

created time in 19 days

push eventlolgear/libgit2

push time in 19 days

push eventlolgear/GitUp

Dmitry Lobanov

commit sha 908ffe6d60491b03994bb9a91d7c867b5e589cac

kit: third-party swift package manager unicode iconv define has been added.

view details

push time in 19 days

create barnchlolgear/libgit2

branch : gitup_libgit2_v1.2

created branch time in 19 days

push eventlolgear/libgit2

Josh Bleecher Snyder

commit sha b8aedc84ca8023fac781097fc5fdaabf43def825

use consistent whitespace before comments

view details

Josh Bleecher Snyder

commit sha d4d26e8d679639ca324812717c3997d0fa6ce096

changelog: note new error class GIT_ERROR_HTTP Updates #5389

view details

Josh Bleecher Snyder

commit sha 216165ecfa6bdea6a000a1b69617b54f48203f87

transports: use GIT_EAUTH for authentication failures When the failure is clearly an auth failure (as opposed to possibly an auth failure), use the error code GIT_EAUTH instead of GIT_ERROR. While we're here, fix a typo and improve an error message. Fixes #5389.

view details

Jochen Hunz

commit sha 958205a33d9e9d078f41a9a3ac04dc7c657840c7

implement GIT_CHECKOUT_DRY_RUN to allow notifications without touching the working directory

view details

Kevin Saul

commit sha e71505b3372028d073bf1d2268d3cdc7bc934708

repo: fix worktree iteration when repo has no common directory When applying an operation to a repository created without a common directory, which is known to occur in scenarios where custom odb/refdb backends are used, git_repository_foreach_worktree currently asserts while attempting to open the repository located in the common directory. Fix this issue by applying operation to repository supplied when there are no linked worktrees to iterate (implied by common directory being empty).

view details

lhchavez

commit sha fff209c400dc054aa05575aa726fd0f03de788c5

midx: Add a way to write multi-pack-index files This change adds the git_midx_writer_* functions to allow to write and create `multi-pack-index` files from `.idx`/`.pack` files. Part of: #5399

view details

lhchavez

commit sha 83862c83748b03d473a58d983916bec0bc385b62

commit-graph: Add a way to write commit-graph files This change adds the git_commit_graph_writer_* functions to allow to write and create `commit-graph` files from `.idx`/`.pack` files or `git_revwalk`s. Part of: #5757

view details

lhchavez

commit sha 2988f7367cda7337e2b293fb12814d272ef9c33b

Review feedback * Added the `PenaltyBreakAssignment: 1000` clang-format option to avoid breaking statements around the assignment operator. * Avoided using the dot initializer syntax. * Avoided casting allocations. * Also avoided casting `void *`.

view details

lhchavez

commit sha 63f08e4258122d6f6ea1f04ec8c08779bf300b6c

Make the defaultable fields defaultable Also, add `git_commit_graph_writer_options_init`!

view details

lhchavez

commit sha 47c70fc54e1c521ba240429d7c7387a3b1f1ee65

Merge remote-tracking branch 'origin/main' into cgraph-write

view details

lhchavez

commit sha 94008e6aae0b4f1b4fcaa2e772da99764072cd7f

Fixups for the latest changes in the array interface

view details

lhchavez

commit sha 366115e0e3e426047bb2be008e5962aa6598a0d4

Review feedback

view details

lhchavez

commit sha e66545e30fe862d6c2ccfc06275fcadd0dce0953

Merge remote-tracking branch 'origin/main' into multi-pack-index-write

view details

lhchavez

commit sha 9d117e3857b447b47df38081d7f40f4b2226621b

midx: Add a way to write multi-pack-index files This change adds the git_midx_writer_* functions to allow to write and create `multi-pack-index` files from `.idx`/`.pack` files. Part of: #5399

view details

lhchavez

commit sha ea285904dcb1350d99703df86a5f38662935cbbc

midx: Introduce git_odb_write_multi_pack_index() This change introduces git_odb_write_multi_pack_index(), which creates a `multi-pack-index` file from all the `.pack` files that have been loaded in the ODB. Fixes: #5399

view details

Edward Thomson

commit sha 672406773e677e69dba0ccf1c6a116cb2886b60a

remote: introduce set_instance_url Users may want to override the URL on a particular instance of a remote, instead of updating the configuration. Previously, users could use a callback to do this, but this is not particularly idiomatic.

view details

Edward Thomson

commit sha a9a7bfb506ee4db156abf1ba55cda9de86c18fdb

filter: add docs for `git_filter_stream_fn`

view details

Edward Thomson

commit sha a8943c04dcb8079595c075daf1b7ba76d4bb455e

filter: proxy_stream is now git_filter_buffered_stream The filter's proxy_stream is used to adapt filters that only provided an `apply` function into a `stream` function. Make this internal to the library instead of private to the filter file. This will allow the filters to use it directly, instead of relying on the filter functionality to do the proxying.

view details

Edward Thomson

commit sha c1f4f45ef84d11d1baf41469eac28ec1b90dabf3

crlf: use streaming filters

view details

Edward Thomson

commit sha f593fa979319d628295cf7a4d57051e68caa4823

ident: use streaming filters

view details

push time in 19 days

pull request commentgit-up/GitUp

GitUp. libgit2 main branch after v1.1.1

Yes, it will be nice. I can migrate my changes independently. After that I can open PR against prepared branch. And old PR will be closed.

lolgear

comment created time in 20 days

pull request commentgit-up/GitUp

GitUp. libgit2 main branch after v1.1.1

@lucasderraugh libgit2 v1.2.0 is released https://github.com/libgit2/libgit2/releases/tag/v1.2.0

lolgear

comment created time in 20 days

issue openedlibgit2/libgit2

Is it possible to use range of commits in cherry-pick?

Cherry picking allows to use range of commits. Does this feature exist in libgit2?

created time in 20 days

issue closedlibgit2/libgit2

[CMake] ntlmclient. Headers for common crypto are excluded in Xcode target.

Too many words for simple

https://github.com/libgit2/libgit2/blob/e65229ee972c113413eeca77853213352129bd47/deps/ntlmclient/CMakeLists.txt#L8

You may see that there is no clue of included headers at this common crypto condition branch. Even more, there is no clue whether unicode is handled via _builtin or _iconv.

I don't understand what is going on (which headers are included or not), because target in Xcode doesn't contain any header but it works, because HEADERS_SEARCH_PATH flag is pointing to deps/ntlmclient.

closed time in 20 days

lolgear

issue commentlibgit2/libgit2

[CMake] ntlmclient. Headers for common crypto are excluded in Xcode target.

Changes are merged in #5974. Closing issue.

lolgear

comment created time in 20 days

PR opened libgit2/libgit2

Stdint header condition has been reverted.

This PR hides header content from non-Windows builds. ( Well, it is better to include this header via "relative" search path ).

+3 -3

0 comment

1 changed file

pr created time in 25 days

push eventlolgear/libgit2

Alex Good

commit sha 1713ab45510ceeae06d8d3f75e6e4b71a7630658

Respect the force flag on refspecs in git_remote_fetch

view details

alexjg

commit sha 6c035b596e1dbbd1a3a4b5f685c8f325a4c39c3b

Merge branch 'libgit2:main' into respect-force-flag-in-remote-fetch

view details

Alex Good

commit sha 8ad5998f9a150cdaf7d5d39bd1b008354bb4c1fe

Fix memory sanitizer failures in tests

view details

Alex Good

commit sha 39fd7646cbb7cdc41c4f6810ca69ed234307fe10

Merge branch 'main' into respect-force-flag-in-remote-fetch

view details

Edward Thomson

commit sha 3062a63364d6c213cb501809c727ff828eb9acae

cmake: extended futimens checking on macOS

view details

Edward Thomson

commit sha e65229ee972c113413eeca77853213352129bd47

Merge pull request #5962 from libgit2/ethomson/futimens

view details

Edward Thomson

commit sha a8098903cd39114b4daeae2311f3f517566105d7

.devcontainer: settings for a codespace workflow Add devcontainer settings for running within a codespace.

view details

Edward Thomson

commit sha a7bc8de4e77d5c0fb6313d6fc42977543c9df5c4

Update VSCode / Github Codespaces workflow

view details

Edward Thomson

commit sha e43cfb68794b43797af579e0e82996f4c449d33c

VSCode: build in parallel

view details

Alex Good

commit sha a5696702dbd8c7abbd37f083a411adecab7cedfe

skip descendant check if remote ref not found

view details

Edward Thomson

commit sha 28841241745bdc30be0ef78235f3c4ba38345590

http: don't require a password Attempt authentication when a username is presented but a password is not; this can happen in particular when users are doing token authentication and specifying the token in the URL itself. For example, `https://token@host/` is a valid URI and should be treated as a username of `token` with an empty password.

view details

Peter Pettersson

commit sha e96fc0283aea9afd02f64bdcb26613422e74dc3a

tests: optional test for p_open() with empty path segments

view details

Peter Pettersson

commit sha d095502ed797e20a73a00b65cc9d70d91f7d7ab4

tests: don't generate false positives on empty path segments

view details

Peter Pettersson

commit sha 4584660e11ee5fd6e9fb44b0d00bf7cb8df8edb4

bugfix: don't generate paths with empty segments

view details

Peter Pettersson

commit sha 2c2cb3f3ecfac356bd5168125b1afd718aef6917

amiga: use ';' as path list separator on AmigaOS Like on Windows ':' is used for volume names in absolute paths.

view details

lhchavez

commit sha 9eb17d460cd681bbc14d56ed8fdf440bc69b5456

Introduce GIT_WARN_UNUSED_RESULT This change adds the GIT_WARN_UNUSED_RESULT annotation, which makes the compiler warn when a return result is not used. This avoids bugs.

view details

lhchavez

commit sha 231ca4fad36ce7b3dd5d79b599be46ab6001fc18

Proof-of-concept for a more aggressive GIT_UNUSED() This adds a `-Wunused-result`-proof `GIT_UNUSED()`, just to demonstrate that it works. With this, sortedcache.h is now completely `GIT_WARN_UNUSED_RESULT`-annotated!

view details

lhchavez

commit sha 4bb1568f22b03642cc160aecab1c1e15093ec748

Be a little bit less aggressive GIT_WARN_UNUSED_RESULT Now we're limiting ourselves to only functions that allocate or acquire locks.

view details

lhchavez

commit sha 7488705d45161fa8c6945a67570ac8d9fc2d7bfc

Add guidelines for the GIT_WARN_UNUSED_RESULT annotation

view details

lhchavez

commit sha c4cbab3201a1b5e75f6ef28e724956a36cb66dc0

Handle one more unused variable introduced since the PR started

view details

push time in a month

push eventlolgear/libgit2

Dmitry Lobanov

commit sha 4c0ea9f06d7fa1d5345544617620a762a4e6e5d7

cmake: select hashes umbrella variable has been removed. Co-authored-by: Edward Thomson <ethomson@github.com>

view details

push time in a month

pull request commentlibgit2/libgit2

CMake. hash sha1 header has been added.

@ethomson Could you check this PR before shipping new release?

lolgear

comment created time in a month

PR opened libgit2/libgit2

CMake. hash sha1 header has been added.
  • [x] hash/sha1.h header has been added.

Previous PR #5973

+2 -0

0 comment

1 changed file

pr created time in a month

create barnchlolgear/libgit2

branch : cmake_hash_sha_missing_header

created branch time in a month

PR closed libgit2/libgit2

[CMake] ntlmclient. missing headers have been added.

This PR adds missing headers.

  • [x] ntlmclient headers files have been added.
  • [x] hash/sha1.h umbrella header has been added.
  • [x] Addressed issue #5969
  • [x] deps/ntlmclient/crypt.h missing ntlmclient.h include. crypt.h has functions definitions which uses ntlm_client symbol.
+19 -3

4 comments

3 changed files

lolgear

pr closed time in a month

pull request commentgit-up/GitUp

GitUp. libgit2 main branch after v1.1.1

@lucasderraugh I guess it should work now. I removed Package.swift from libgit2 to adjust folder hierarchy. Also features.h has been added to libgit2, so, no need to run ./update-xcode.sh

lolgear

comment created time in a month

push eventlolgear/libgit2

Dmitry Lobanov

commit sha 475edf2e01c45f121c36a6fa28e5e3d1a7334976

headers: features header has been added.

view details

push time in a month

push eventlolgear/GitUp

Dmitry Lobanov

commit sha 6c83df6e9575fc451c9c4a99ed1fe16095726275

kit: third-party swift package manager has been added.

view details

Dmitry Lobanov

commit sha eddb953ab357784ce219eb7d2ca6ee2335d3e91a

kit: project third-party package has been added.

view details

Dmitry Lobanov

commit sha 0e1404a20308e195a8932a2665ec0c429d2fb888

kit: third-party swift package manager features extractor has been added.

view details

push time in a month

push eventlolgear/libgit2

Dmitry Lobanov

commit sha d750d6c86ebe02c237c06859202665695c8ed12f

distribution: swif package manager package has been removed.

view details

push time in a month

pull request commentgit-up/GitUp

GitUp. libgit2 main branch after v1.1.1

Oh, I forget about another hack. You have to copy libssl, libcrypto and libssh2 to libgit2/binaries.

lolgear

comment created time in a month

pull request commentlibgit2/libgit2

[CMake] ntlmclient. missing headers have been added.

To be more pedantic, ntlmclient.h is an umbrella header for ntlmclient. So, it must contain all framework modules that are considered public...

lolgear

comment created time in a month

push eventlolgear/GitUp

Dmitry Lobanov

commit sha ec22d0d3763193039fbac2cd3cb2a22994e512ed

kit: project header search paths have been removed.

view details

push time in a month

pull request commentlibgit2/libgit2

[CMake] ntlmclient. missing headers have been added.

@ethomson Could you include "ntlmclient.h" into crypt.h? struct ntlm_client is defined in ntlmclient and used in crypt.h. ( Yes, I know, it is pedantic ).

lolgear

comment created time in a month