1. 27 Nov, 2020 1 commit
  2. 01 Jun, 2020 1 commit
  3. 26 Jan, 2020 1 commit
    • credential: change git_cred to git_credential · 3f54ba8b
      We avoid abbreviations where possible; rename git_cred to
      git_credential.
      
      In addition, we have standardized on a trailing `_t` for enum types,
      instead of using "type" in the name.  So `git_credtype_t` has become
      `git_credential_t` and its members have become `GIT_CREDENTIAL` instead
      of `GIT_CREDTYPE`.
      
      Finally, the source and header files have been renamed to `credential`
      instead of `cred`.
      
      Keep previous name and values as deprecated, and include the new header
      files from the previous ones.
      Edward Thomson committed
  4. 24 Jun, 2019 1 commit
  5. 15 Jun, 2019 1 commit
  6. 22 Feb, 2019 1 commit
  7. 22 Jan, 2019 1 commit
  8. 17 Jan, 2019 1 commit
  9. 01 Dec, 2018 1 commit
  10. 10 Jun, 2018 1 commit
  11. 20 Apr, 2018 1 commit
    • local: fix a leaking reference when iterating over a symref · 836ec316
      Valgrind log :
      
      ==17702== 18 bytes in 1 blocks are indirectly lost in loss record 69 of 1,123
      ==17702==    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
      ==17702==    by 0x5FDBB49: strdup (strdup.c:42)
      ==17702==    by 0x632B3E: git__strdup (util.h:106)
      ==17702==    by 0x632D2C: git_reference__alloc_symbolic (refs.c:64)
      ==17702==    by 0x62E0AF: loose_lookup (refdb_fs.c:408)
      ==17702==    by 0x62E636: refdb_fs_backend__iterator_next (refdb_fs.c:565)
      ==17702==    by 0x62CD8E: git_refdb_iterator_next (refdb.c:147)
      ==17702==    by 0x6347F2: git_reference_next (refs.c:838)
      ==17702==    by 0x6345CB: git_reference_foreach (refs.c:748)
      ==17702==    by 0x66BE62: local_download_pack (local.c:579)
      ==17702==    by 0x5DB48F: git_fetch_download_pack (fetch.c:148)
      ==17702==    by 0x639028: git_remote_download (remote.c:932)
      ==17702==    by 0x63919A: git_remote_fetch (remote.c:969)
      ==17702==    by 0x4ABEDD: test_fetchhead_nonetwork__fetch_into_repo_with_symrefs (nonetwork.c:362)
      ==17702==    by 0x4125D9: clar_run_test (clar.c:222)
      ==17702==    by 0x41287C: clar_run_suite (clar.c:286)
      ==17702==    by 0x412DDE: clar_test_run (clar.c:433)
      ==17702==    by 0x4105E1: main (main.c:24)
      Etienne Samson committed
  12. 06 Apr, 2018 1 commit
    • transports: local: fix assert when fetching into repo with symrefs · 6c55fbf3
      When fetching into a repository which has symbolic references via the
      "local" transport we run into an assert. The assert is being triggered
      while we negotiate the packfile between the two repositories. When
      hiding known revisions from the packbuilder revwalk, we unconditionally
      hide all references of the local refdb. In case one of these references
      is a symbolic reference, though, this means we're trying to hide a
      `NULL` OID, which triggers the assert.
      
      Fix the issue by only hiding OID references from the revwalk. Add a test
      to catch this issue in the future.
      Patrick Steinhardt committed
  13. 12 Jan, 2018 1 commit
    • transports: local: fix memory leak in reference walk · 90f81f9f
      Upon downloading the pack file, the local transport will iterate through
      every reference using `git_reference_foreach`. The function is a bit
      tricky though in that it requires the passed callback to free the
      references, which does not currently happen.
      
      Fix the memory leak by freeing all passed references in the callback.
      Patrick Steinhardt committed
  14. 03 Jul, 2017 1 commit
    • Make sure to always include "common.h" first · 0c7f49dd
      Next to including several files, our "common.h" header also declares
      various macros which are then used throughout the project. As such, we
      have to make sure to always include this file first in all
      implementation files. Otherwise, we might encounter problems or even
      silent behavioural differences due to macros or defines not being
      defined as they should be. So in fact, our header and implementation
      files should make sure to always include "common.h" first.
      
      This commit does so by establishing a common include pattern. Header
      files inside of "src" will now always include "common.h" as its first
      other file, separated by a newline from all the other includes to make
      it stand out as special. There are two cases for the implementation
      files. If they do have a matching header file, they will always include
      this one first, leading to "common.h" being transitively included as
      first file. If they do not have a matching header file, they instead
      include "common.h" as first file themselves.
      
      This fixes the outlined problems and will become our standard practice
      for header and source files inside of the "src/" from now on.
      Patrick Steinhardt committed
  15. 13 Feb, 2017 1 commit
    • repository: use `git_repository_item_path` · c5f3da96
      The recent introduction of the commondir variable of a repository
      requires callers to distinguish whether their files are part of
      the dot-git directory or the common directory shared between
      multpile worktrees. In order to take the burden from callers and
      unify knowledge on which files reside where, the
      `git_repository_item_path` function has been introduced which
      encapsulate this knowledge.
      
      Modify most existing callers of `git_repository_path` to use
      `git_repository_item_path` instead, thus making them implicitly
      aware of the common directory.
      Patrick Steinhardt committed
  16. 29 Dec, 2016 1 commit
  17. 20 Dec, 2016 1 commit
  18. 19 Apr, 2016 1 commit
  19. 14 May, 2015 1 commit
  20. 13 May, 2015 4 commits
  21. 17 Mar, 2015 1 commit
  22. 11 Mar, 2015 2 commits
    • local: create pack with multiple threads · 0ef54a63
      The default behaviour for the packbuilder is to perform the work in a
      single thread, which is fine for the public API, but we currently have
      no way for a user to determine the number of threads to use when
      creating the packfile, which makes our clone behaviour over the
      filesystem quite a bit slower than what git offers.
      
      This is a very particular scenario, in which we avoid spawning git by
      being ourselves the server-side, so it's probably ok to auto-set the
      threading, as the upload-pack process would do if we were talking to
      git.
      Carlos Martín Nieto committed
    • local: let the packbuilder perform smarter object insertion · e68b31a1
      Currently we use the most naïve and inefficient method for figuring out
      which objects to send to the remote whereby we end up trying to insert
      subdirs which have not changed multiple times.
      
      Instead, make use of the packbuilder's built-in more efficient method
      which uses the walk to feed the object list and avoids inserting an
      object and its descendants.
      Carlos Martín Nieto committed
  23. 03 Mar, 2015 1 commit
    • Remove the signature from ref-modifying functions · 659cf202
      The signature for the reflog is not something which changes
      dynamically. Almost all uses will be NULL, since we want for the
      repository's default identity to be used, making it noise.
      
      In order to allow for changing the identity, we instead provide
      git_repository_set_ident() and git_repository_ident() which allow a user
      to override the choice of signature.
      Carlos Martín Nieto committed
  24. 13 Feb, 2015 1 commit
  25. 29 Dec, 2014 1 commit
  26. 16 Dec, 2014 1 commit
  27. 23 Nov, 2014 2 commits
  28. 09 Nov, 2014 1 commit
    • push: use the common refspec parser · aad638f3
      There is one well-known and well-tested parser which we should use,
      instead of implementing parsing a second time.
      
      The common parser is also augmented to copy the LHS into the RHS if the
      latter is empty.
      
      The expressions test had to change a bit, as we now catch a bad RHS of a
      refspec locally.
      Carlos Martín Nieto committed
  29. 03 Jun, 2014 1 commit
  30. 22 May, 2014 1 commit
  31. 21 May, 2014 1 commit
  32. 21 Apr, 2014 1 commit
  33. 07 Mar, 2014 1 commit
  34. 19 Jan, 2014 1 commit
  35. 17 Jan, 2014 1 commit