1. 15 Jun, 2016 1 commit
  2. 17 May, 2016 1 commit
    • Introduce a function to create a tree based on a different one · 9464f9eb
      Instead of going through the usual steps of reading a tree recursively
      into an index, modifying it and writing it back out as a tree, introduce
      a function to perform simple updates more efficiently.
      
      `git_tree_create_updated` avoids reading trees which are not modified
      and supports upsert and delete operations. It is not as versatile as
      modifying the index, but it makes some common operations much more
      efficient.
      Carlos Martín Nieto committed
  3. 28 Apr, 2016 1 commit
  4. 26 Apr, 2016 1 commit
  5. 22 Apr, 2016 1 commit
  6. 19 Apr, 2016 5 commits
  7. 13 Apr, 2016 1 commit
  8. 31 Mar, 2016 1 commit
    • Add a no-op size_t typedef for the doc parser · 98444536
      Clang's documentation parser, which we use in our documentation system
      does not report any comments for functions which use size_t as a type.
      
      The root cause is buried somewhere in libclang but we can work around it
      by defining the type ourselves. This typedef makes sure that libclang
      sees it and that we do not change its size.
      Carlos Martín Nieto committed
  9. 23 Mar, 2016 1 commit
  10. 22 Mar, 2016 1 commit
    • blob: introduce creating a blob by writing into a stream · 0a5c6028
      The pair of `git_blob_create_frombuffer()` and
      `git_blob_create_frombuffer_commit()` is meant to replace
      `git_blob_create_fromchunks()` by providing a way for a user to write a
      new blob when they want filtering or they do not know the size.
      
      This approach allows the caller to retain control over when to add data
      to this buffer and a more natural fit into higher-level language's own
      stream abstractions instead of having to handle IO wait in the callback.
      
      The in-memory buffer size of 2MB is chosen somewhat arbitrarily to be a
      round multiple of usual page sizes and a value where most blobs seem
      likely to be either going to be way below or way over that size. It's
      also a round number of pages.
      
      This implementation re-uses the helper we have from `_fromchunks()` so
      we end up writing everything to disk, but hopefully more efficiently
      than with a default filebuf. A later optimisation can be to avoid
      writing the in-memory contents to disk, with some extra complexity.
      Carlos Martín Nieto committed
  11. 17 Mar, 2016 4 commits
  12. 15 Mar, 2016 1 commit
  13. 14 Mar, 2016 1 commit
  14. 11 Mar, 2016 1 commit
  15. 08 Mar, 2016 3 commits
  16. 07 Mar, 2016 1 commit
  17. 03 Mar, 2016 1 commit
  18. 28 Feb, 2016 1 commit
  19. 23 Feb, 2016 3 commits
  20. 22 Feb, 2016 1 commit
  21. 16 Feb, 2016 1 commit
  22. 15 Feb, 2016 1 commit
  23. 11 Feb, 2016 2 commits
    • rebase: allow custom merge_options · a202e0d4
      Allow callers of rebase to specify custom merge options.  This may
      allow custom conflict resolution, or failing fast when conflicts
      are detected.
      Edward Thomson committed
    • rebase: introduce inmemory rebasing · ee667307
      Introduce the ability to rebase in-memory or in a bare repository.
      
      When `rebase_options.inmemory` is specified, the resultant `git_rebase`
      session will not be persisted to disk.  Callers may still analyze
      the rebase operations, resolve any conflicts against the in-memory
      index and create the commits.  Neither `HEAD` nor the working
      directory will be updated during this process.
      Edward Thomson committed
  24. 10 Feb, 2016 1 commit
  25. 09 Feb, 2016 2 commits
  26. 04 Feb, 2016 1 commit
  27. 03 Feb, 2016 1 commit