1. 22 Oct, 2020 1 commit
  2. 15 Oct, 2020 3 commits
  3. 05 Oct, 2020 3 commits
    • civodul's avatar
      fetch: Simplify proxy interface. · d418a854
      civodul authored
      * git/structs.scm (%fetch-options-proxy-options)
      (set-fetch-options-proxy-options!): Remove.
      * git/proxy.scm: Remove.
      * Makefile.am (SOURCES): Remove it.
      * git/fetch.scm (make-fetch-options): Add #:proxy-url and #:proxy-type.
      Honor them.
      (set-fetch-options-proxy-type!, set-fetch-options-proxy-url!): New
      * tests/proxy.scm (clone-through-proxy): Adjust accordingly.
    • civodul's avatar
      proxy: Adjust test for libgit2 1.0.1. · 681c63ad
      civodul authored
      * tests/proxy.scm ("clone with HTTP proxy"): Change to...
      ("clone with HTTPS proxy"): ... this.  Expect a CONNECT call instead of
      GET.  Skip on Guile < 3.0.3.
    • civodul's avatar
      structs: Add 'resolve-url' field to '%remote-callbacks' on libgit2 1.0. · 2b4d077c
      civodul authored
      * configure.ac: Add check for 'git_remote_callbacks.resolve_url' and
      * git/config.scm.in (%have-remote-callbacks-resolve-url?): New
      * git/structs.scm (%remote-callbacks): Add 'resolve-url' field when
  4. 04 Oct, 2020 4 commits
    • civodul's avatar
      fetch: Add support for transfer progress callback. · 7a3d97a7
      civodul authored
      * git/fetch.scm (make-fetch-options): Add #:transfer-progress and honor
      it.  Add docstring.
      (set-fetch-options-transfer-progress!): New procedure.
      * git/structs.scm (%indexer-progress): New variable.
      (<indexer-progress>): New record type.
      (bytestructure->indexer-progress, procedure->indexer-progress-callback)
      (set-remote-callbacks-transfer-progress!): New procedures.
      * tests/clone.scm ("clone + transfer-progress"): New test.
    • civodul's avatar
      structs: Tweak <fetch-options> remote callbacks interface. · 26054efa
      civodul authored
      * git/structs.scm (fetch-options-callbacks): Rename to...
      (fetch-options-remote-callbacks): ... this.  Return a <remote-callbacks>
      struct instead of bytestructure.
      (set-remote-callbacks-credentials!): Adjust accordingly.
      * git/fetch.scm (set-fetch-auth-callback): Likewise.
    • civodul's avatar
      structs: Remove unused 'set-fetch-options-callbacks!'. · 3ace803c
      civodul authored
      * git/structs.scm (set-fetch-options-callbacks!): Remove.
    • civodul's avatar
      structs: Initialize 'version' field of 'remote-callbacks' structs. · 250eb118
      civodul authored
      * git/structs.scm (REMOTE-CALLBACKS-VERSION): New variable.
      (make-remote-callbacks): Initialize 'version field.
  5. 03 Oct, 2020 1 commit
  6. 10 Feb, 2020 1 commit
  7. 09 Feb, 2020 1 commit
  8. 30 Jan, 2020 2 commits
  9. 14 Jan, 2020 3 commits
    • civodul's avatar
      Add (git proxy). · 38025a26
      civodul authored
      * git/structs.scm (%proxy-options): Move higher and document.
      (GIT-PROXY-OPTIONS-VERSION): New variable.
      (<proxy-options>): New record type.
      (make-proxy-options-bytestructure, proxy-options->pointer)
      (%proxy-options-strings, symbol->proxy-type, proxy-type->symbol)
      (proxy-options-type, proxy-options-url, set-proxy-options-type!)
      (set-proxy-options-url!, fetch-options-proxy-options)
      (set-fetch-options-proxy-options!): New procedures.
      (%fetch-options-proxy-options): New variable.
      * git/proxy.scm, tests/proxy.scm: New files.
      * git/fetch.scm (make-fetch-options): Add #:proxy-options parameter and
      honor it.
      * Makefile.am (SOURCES): Add 'git/proxy.scm'.
      (TESTS): Add 'tests/proxy.scm'.
    • Erik Edrosa's avatar
      NEWS: fix typo in 0.3.0 notes. · 1314114a
      Erik Edrosa authored
      * NEWS: fix (git tag) typo.
    • Erik Edrosa's avatar
      NEWS: Add items to 0.3.0 new functionality. · 9991bb11
      Erik Edrosa authored
      * NEWS: Add CREDTYPE-* variables, ssh authentication support, and (git
      blob) module.
  10. 31 Dec, 2019 2 commits
    • civodul's avatar
      blob: Add procedures to access blobs. · 8025f4fe
      civodul authored
      * git/blob.scm (%blob-free, %blob-contents): New variable.
      (blob-id, pointer->blob!, blob-lookup, blob-lookup-prefix)
      (blob-size, blob-content): New procedures.
      * git.scm (%public-modules): Add (git blob).
      * tests/blob.scm: New file.
      * Makefile.am (TESTS): Add it.
    • civodul's avatar
      tree: Add missing exports. · 79e0bd80
      civodul authored
      * git/tree.scm: Re-export 'tree?' and 'tree-entry?'.  Export
      'tree-entry-id' and 'tree-entry-object'.
  11. 30 Dec, 2019 1 commit
  12. 26 Dec, 2019 1 commit
  13. 17 Dec, 2019 4 commits
    • Marius Bakke's avatar
      Add GitLab CI configuration. · 112eadbf
      Marius Bakke authored
      * .gitlab-ci.yml: New file.
    • Marius Bakke's avatar
      Merge branch 'fetch-options' into 'master' · 724a972b
      Marius Bakke authored
      fetch: Consolidate 'init-auth-fetch-options' and 'make-fetch-options'
      See merge request !22
    • Marius Bakke's avatar
      fetch: Consolidate 'init-auth-fetch-options' and 'make-fetch-options'. · 418ea57d
      Marius Bakke authored
      The idea here is to initialize FETCH-OPTIONS with the correct
      authentication parameters and pass that along, instead of
      special-handling authenticated checkouts.
      * git/fetch.scm (init-auth-fetch-options): Rename to ...
      (make-fetch-options): ... this.  Remove mandatory FETCH-OPTIONS
      argument.  Remove previous MAKE-FETCH-OPTIONS procedure.
      * git/remote.scm (remote-fetch): Remove #:auth-method key and related
      * git/clone.scm (clone): Likewise.
      (make-clone-options): Add #:fetch-options key.
      * git/structs.scm (clone-options-fetch-options): Remove procedure.
      (set-clone-options-fetch-opts!): New procedure.
      * tests/clone.scm (clone-test,
      "clone-and-fetch-auth-ssh-credentials"): Use #:fetch-options instead
      of #:auth-method.
    • Marius Bakke's avatar
      tests: s/folder/directory · d2772e3e
      Marius Bakke authored
      * tests/ssh.scm.in (in-ssh-folder): Rename to ...
      (in-ssh-directory): ... this.
      (start-sshd, stop-sshd, ssh-agent-add-client-key,
      make-client-ssh-auth): Adjust accordingly.
  14. 11 Dec, 2019 2 commits
    • Mathieu Othacehe's avatar
      tests: ssh: Fix key permissions. · f3a16d2f
      Mathieu Othacehe authored
      * tests/ssh.scm.in (start-sshd): Set server private key permissions,
      (make-client-ssh-auth): set client private and public keys permissions.
    • Mathieu Othacehe's avatar
      Add ssh authentication support. · 4719b429
      Mathieu Othacehe authored
      * Makefile.am (SOURCES): Add git/auth.scm,
      (TESTS): add tests/clone.scm.
      * configure.ac: Check for git and ssh binaries.
      * git.scm (%public-modules): Add (git auth) and (git bindings).
      * git/auth.scm: New file.
      * git/clone.scm (clone): Add an auth-method argument. Pass it to
      new init-fetch-options call, before proceeding to clone.
      * git/remote.scm (remote-fetch): Add an auth-method. Pass it to
      init-fetch-options before proceeding to fetch.
      * git/structs.scm (clone-options-fetch-options): Do not return a copy of
      fetch-options nested inside clone-options. Instead, find the offset of
      fetch-options and use it to create a pointer to fetch-options.
      * git/fetch.scm (init-fetch-options): New exported procedure,
      (make-fetch-options): call the procedure above to initialize fetch-options,
      (set-fetch-auth-with-ssh-agent!): handle the case where username is not set
      and libgit2 asks for one.
      (set-fetch-auth-with-default-ssh-key!): remove this procedure,
      (set-fetch-auth-with-ssh-key): new procedure.
      * tests/.ssh/id_rsa_client: New file.
      * tests/.ssh/id_rsa_client.pub: New file.
      * tests/.ssh/id_rsa_server: New file.
      * tests/clone.scm: New file.
      * tests/ssh.scm.in: New file.
  15. 09 Dec, 2019 2 commits
  16. 29 Nov, 2019 1 commit
    • Mathieu Othacehe's avatar
      bindings: pointer->procedure: Remove #:return-errno parameter. · bd6e2161
      Mathieu Othacehe authored
      This parameter was causing the procedure returned by libgit2->procedure to
      return two values. This was silently ignored. However, when type checking the
      return type of libgit2->procedure in a procedure->pointer call, an error
      is thrown.
      * git/bindings.scm (libgit2->procedure): Remove #:return-errno parameter from
  17. 22 Oct, 2019 1 commit
  18. 20 Oct, 2019 1 commit
  19. 24 Sep, 2019 2 commits
  20. 21 Sep, 2019 1 commit
  21. 01 Sep, 2019 2 commits
    • Mathieu Othacehe's avatar
      Defer dynamic-link calls to runtime. · da54721b
      Mathieu Othacehe authored
      Resolving dynamic-link calls at compile time breaks
      cross-compilation. Delay those calls to runtime to fix it.
      * git/bindings.scm (libgit2) : Remove ...
      (libgit2->pointer): ... and replace by a procedure,
      (libgit2->procedure): delay dynamic-link call with a catch/throw
      (%object-free): Replace dynamic-func call by libgit2->pointer call.
      * git/annotated.scm (%annotated-commit-free) : Replace dynamic-func
      call by libgit2->pointer call.
      * git/blame.scm (%blame-free): Ditto.
      * git/branch.scm (%branch-iterator-free): Ditto.
      * git/commit.scm (%commit-free): Ditto.
      * git/describe.scm (%describe-result-free): Ditto.
      * git/reference.scm (%reference-free, %reference-iterator-free): Ditto.
      * git/remote.scm (%remote-free): Ditto.
      * git/repository.scm (%repository-free): Ditto.
      * git/signature.scm (%signature-free): Ditto.
      * git/status.scm (%status-list-free): Ditto.
      * git/submodule.scm (%submodule-free): Ditto.
      * git/tag.scm (%tag-free): Ditto.
      * git/tree.scm (%tree-entry-free, %tree-free): Ditto.
    • Mathieu Othacehe's avatar
      Revert "git: Do not define procedures as variables." · cb36ebdd
      Mathieu Othacehe authored
      This reverts commit 6bde57a1.
  22. 06 Aug, 2019 1 commit