1. 11 Sep, 2012 2 commits
    • Add git_repository_hashfile to hash with filters · 47bfa0be
      The existing `git_odb_hashfile` does not apply text filtering
      rules because it doesn't have a repository context to evaluate
      the correct rules to apply.  This adds a new hashfile function
      that will apply repository-specific filters (based on config,
      attributes, and filename) before calculating the hash.
      Russell Belfer committed
    • Fix diff binary file detection · 1f35e89d
      In the process of adding tests for the max file size threshold
      (which treats files over a certain size as binary) there seem to
      be a number of problems in the new code with detecting binaries.
      This should fix those up, as well as add a test for the file
      size threshold stuff.
      
      Also, this un-deprecates `GIT_DIFF_LINE_ADD_EOFNL`, since I
      finally found a legitimate situation where it would be returned.
      Russell Belfer committed
  2. 10 Sep, 2012 2 commits
    • Move diff max_size to public API · e597b189
      This commit adds a max_size value in the public `git_diff_options`
      structure so that the user can automatically flag blobs over a
      certain size as binary regardless of other properties.
      
      Also, and perhaps more importantly, this moves binary detection
      to be as early as possible in the diff traversal inner loop and
      makes sure that we stop loading objects as soon as we decide that
      they are binary.
      Russell Belfer committed
    • Replace git_diff_iterator_num_files with progress · b36effa2
      The `git_diff_iterator_num_files` API was problematic, since we
      don't actually know the exact number of files to be iterated over
      until we load those files into memory.  This replaces it with a
      new `git_diff_iterator_progress` API that goes from 0 to 1, and
      moves and renamed the old API for the internal places that can
      tolerate a max value instead of an exact value.
      Russell Belfer committed
  3. 07 Sep, 2012 1 commit
  4. 06 Sep, 2012 5 commits
  5. 05 Sep, 2012 2 commits
    • Fix comments and a minor bug · 510f1bac
      This adds better header comments and also fixes a bug in one of
      simple APIs that tells the number of lines in the current hunk.
      Russell Belfer committed
    • Diff iterators · f335ecd6
      This refactors the diff output code so that an iterator object
      can be used to traverse and generate the diffs, instead of just
      the `foreach()` style with callbacks.  The code has been rearranged
      so that the two styles can still share most functions.
      
      This also replaces `GIT_REVWALKOVER` with `GIT_ITEROVER` and uses
      that as a common error code for marking the end of iteration when
      using a iterator style of object.
      Russell Belfer committed
  6. 04 Sep, 2012 1 commit
  7. 29 Aug, 2012 1 commit
  8. 27 Aug, 2012 4 commits
  9. 25 Aug, 2012 1 commit
  10. 24 Aug, 2012 4 commits
  11. 23 Aug, 2012 1 commit
  12. 22 Aug, 2012 5 commits
    • Some cleanup suggested during review · 85bd1746
      This cleans up a number of items suggested during code review
      with @vmg, including:
      
      * renaming "outside repo" config API to `git_config_open_default`
      * killing the `git_config_open_global` API
      * removing the `git_` prefix from the static functions in fileops
      * removing some unnecessary functionality from the "cp" command
      Russell Belfer committed
    • Add template dir and set gid to repo init · ca1b6e54
      This extends git_repository_init_ext further with support for
      initializing the repository from an external template directory
      and with support for the "create shared" type flags that make a
      set GID repository directory.
      
      This also adds tests for much of the new functionality to the
      existing `repo/init.c` test suite.
      
      Also, this adds a bunch of new utility functions including a
      very general purpose `git_futils_mkdir` (with the ability to
      make paths and to chmod the paths post-creation) and a file
      tree copying function `git_futils_cp_r`.  Also, this includes
      some new path functions that were useful to keep the code
      simple.
      Russell Belfer committed
    • Add git_repository_init_ext for power initters · 662880ca
      The extended version of repository init adds support for many
      of the things that you can do with `git init` and sets up
      structures that will make it easier to extend further in the
      future.
      Russell Belfer committed
    • Wrap up ignore API and add tests · 2fb4e9b3
      This fills out the ignore API and adds tests.
      Russell Belfer committed
    • Add public API for internal ignores · f004c4a8
      This creates a public API for adding to the internal ignores
      list, which already existing but was not accessible.
      
      This adds the new default value for core.excludesfile also.
      Russell Belfer committed
  13. 21 Aug, 2012 3 commits
  14. 19 Aug, 2012 1 commit
  15. 15 Aug, 2012 2 commits
  16. 14 Aug, 2012 1 commit
    • Make git_message_prettify return bytes written · 85a0e28b
      If you want to be absolutely safe with git_message_prettify, you
      can now pass a NULL pointer for the buffer and get back the number
      of bytes that would be copied into the buffer.
      
      This means that an error is a non-negative return code and a
      success will be greater than zero from this function.
      Russell Belfer committed
  17. 13 Aug, 2012 1 commit
  18. 12 Aug, 2012 3 commits