Commit Graph

4 Commits

Author SHA1 Message Date
Claude Bot
6653c96f99 fix(bun:git): Add libgit2 submodule and fix cmake configuration
- Add libgit2 as a git submodule in vendor/
- Fix cmake configuration to use proper ARGS instead of CMAKE_ARGS
- Use correct TARGETS (libgit2package) to build static library
- Disable NTLM and GSSAPI which require HTTPS backend

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 09:24:34 +00:00
Claude Bot
38d399861f fix(bun:git): Resolve merge conflicts and cleanup duplicate implementations
- Remove duplicate git/ subdirectory files from remote merge
- Remove duplicate LazyProperty-based Git structure entries
- Consolidate to single LazyClassStructure-based implementation
- Remove duplicate IsoSubspace declarations
- Fix namespace references to use Bun:: prefix
- Clean up CMake duplicate targets (BuildLibGit2 vs BuildLibgit2)
- Remove TypeScript wrapper (git.ts) in favor of pure C++ implementation

All 50 tests pass.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:51:31 +00:00
Claude Bot
25ad2a0b8a fix(bun:git): Fix module loading and add comprehensive tests
- Fix static methods (Repository.find, Repository.init) not being attached
- Reorganize code to ensure proper method initialization order
- Add bun:git to isBuiltinModule.cpp in correct sorted position
- Fix libgit2 CMake LIB_PATH configuration
- Add comprehensive test suite with 50 tests covering:
  - Module exports validation
  - Repository.find() with path discovery
  - Repository.init() for normal and bare repos
  - Commit operations (getCommit, parent, isAncestorOf)
  - Branch operations (name, fullName, isHead, commit)
  - Status operations (workTreeStatus, indexStatus)
  - Add and commit functionality
  - Signature properties (name, email, date, timezone)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:36:43 +00:00
Claude Bot
efeadc42b1 feat(bun:git): Initial implementation of bun:git module with libgit2
- Add libgit2 CMake build target
- Register bun:git native module
- Implement JSGitRepository class with:
  - Constructor and static find/init methods
  - Properties: path, gitDir, isBare, isClean, head, branch
  - Methods: getCommit, status, add, commit
- Implement JSGitCommit class with:
  - Properties: sha, shortSha, message, summary, author, committer, tree, parents
  - Methods: parent, isAncestorOf
- Implement JSGitBranch class with:
  - Properties: name, fullName, isRemote, isHead, commit, upstream, ahead, behind
  - Methods: delete, rename
- Implement JSGitSignature class with:
  - Properties: name, email, date, timezone
  - Methods: toString

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 08:35:18 +00:00