1. 22 Oct, 2013 1 commit
  2. 21 Oct, 2013 4 commits
  3. 15 Oct, 2013 1 commit
    • Diff API cleanup · 10672e3e
      This lays groundwork for separating formatting options from diff
      creation options.  This groups the formatting flags separately
      from the diff list creation flags and reorders the options.  This
      also tweaks some APIs to further separate code that uses patches
      from code that just looks at git_diffs.
      Russell Belfer committed
  4. 11 Oct, 2013 1 commit
  5. 09 Oct, 2013 2 commits
  6. 08 Oct, 2013 10 commits
    • Make reference lookups apply precomposeunicode · 92dac975
      Before these changes, looking up a reference would return the
      same precomposed or decomposed form of the reference name that
      was used to look it up, so on MacOS which ignores the difference
      between the two, a single reference could be looked up either way
      and git_reference_name would return the form of the name that was
      used to look it up!  This change makes lookup always return the
      precomposed name if core.precomposeunicode is set regardless of
      which version was used to look it up.  The reference iterator was
      already returning the precomposed form from earlier work.
      
      This also updates the CMakeLists.txt rules for enabling iconv
      usage because the clar tests for this code were actually not being
      activated properly with the old version.
      
      Finally, this moves git_repository_reset_filesystem from include/
      git2/repository.h to include/git2/sys/repository.h since it is not
      really a function that normal library users should have to think
      about very often.
      Russell Belfer committed
    • Merge pull request #1895 from libgit2/winhttp-accept · 062c95c2
      WinHTTP: set Accept header for POSTs
      Vicent Martí committed
    • Combine WinHTTP API calls · 3dc3c723
      Ben Straub committed
    • Case sensitivity issues on Linux · d5e83627
      A couple of tests were actually dealing incorrectly with case
      sensitivity issues on Linux because they were relying on having
      core.ignorecase set to true.  Now that the fixture initialization
      sets the case sensitivity to be accurate for the platform, it
      exposed bugs in these tests.
      Russell Belfer committed
    • Add Assembla unit test · 1fd21b03
      Ben Straub committed
    • More filemode cleanups for FAT on MacOS · 14997dc5
      This cleans up some additional issues.  The main change is that
      on a filesystem that doesn't support mode bits, libgit2 will now
      create new blobs with GIT_FILEMODE_BLOB always instead of being
      at the mercy to the filesystem driver to report executable or not.
      This means that if "core.filemode" lies and claims that filemode
      is not supported, then we will ignore the executable bit from the
      filesystem.  Previously we would have allowed it.
      
      This adds an option to the new git_repository_reset_filesystem to
      recurse through submodules if desired.  There may be other types
      of APIs that would like a "recurse submodules" option, but this
      one is particularly useful.
      
      This also has a number of cleanups, etc., for related things
      including trying to give better error messages when problems come
      up from the filesystem.  For example, the FAT filesystem driver on
      MacOS appears to return errno EINVAL if you attempt to write a
      filename with invalid UTF-8 in it.  We try to capture that with a
      better error message now.
      Russell Belfer committed
    • Merge pull request #1894 from libgit2/cmn/tree-raw · ca27ae48
      tree: allow retrieval of raw attributes
      Vicent Martí committed
    • tree: allow retrieval of raw attributes · 13f670a5
      When a tool needs to recreate the tree object (for example an
      interface to another VCS), it needs to use the raw attributes,
      forgoing any normalization.
      Carlos Martín Nieto committed
  7. 05 Oct, 2013 5 commits
  8. 04 Oct, 2013 5 commits
  9. 03 Oct, 2013 11 commits
    • More cleanups to remove WIN assumptions · b8f9059d
      This cleans up more of the test suite to check actual filesystem
      behavior instead of relying on Windows vs. Mac vs. Linux to test.
      Russell Belfer committed
    • Update repo init with fewer platform assumptions · 840fb4fc
      The repo init code was assuming Windows == no filemode, and
      Mac or Windows == no case sensitivity.  Those assumptions are not
      consistently true depending on the mounted file system.  This is a
      first step to removing those assumptions.  It focuses on the repo
      init code and the tests of that code.  There are still many other
      tests that are broken when those assumptions don't hold true, but
      this clears up one area of the code.
      
      Also, this moves the core.precomposeunicode logic to be closer to
      the current logic in core Git where it will be set to true on any
      filesystem where composed unicode is decomposed when read back.
      Russell Belfer committed
    • Clean up annoying warnings · af302aca
      The indexer code was generating warnings on Windows 64-bit.  I
      looked closely at the logic and was able to simplify it a bit.
      
      Also this fixes some other Windows and Linux warnings.
      Russell Belfer committed
    • Wrap iconv stuff and write tests · 618b7689
      This adds a simple wrapper around the iconv APIs and uses it
      instead of the old code that was inlining the iconv stuff.  This
      makes it possible for me to test the iconv logic in isolation.
      A "no iconv" version of the API was defined with macros so that
      I could have fewer ifdefs in the code itself.
      Russell Belfer committed
    • Simplify git_path_is_empty_dir implementation · d0849f83
      This simplifies git_path_is_empty_dir on both Windows (getting rid
      of git_buf allocation inside the function) and other platforms (by
      just using git_path_direach), and adds tests for the function, and
      uses the function to simplify some existing tests.
      Russell Belfer committed
    • Add to Git authors who have agreed to relicense · 966bb17a
      In email, Torsten Bögershausen agreed that we could use his code
      from core Git in libgit2 under the modified license.  Also, since
      his work is the basis for much of the precompose unicode support,
      I have added him to the AUTHORS file as well.
      Russell Belfer committed
    • Initial iconv hookup for precomposed unicode · 219d3457
      This hooks up git_path_direach and git_path_dirload so that they
      will take a flag indicating if directory entry names should be
      tested and converted from decomposed unicode to precomposed form.
      This code will only come into play on the Apple platform and even
      then, only when certain types of filesystems are used.
      
      This involved adding a flag to these functions which involved
      changing a lot of places in the code.
      
      This was an opportunity to do a bit of code cleanup here and there,
      for example, getting rid of the git_futils_cleanupdir_r function in
      favor of a simple flag to git_futils_rmdir_r to not remove the top
      level entry.  That ended up adding depth tracking during rmdir_r
      which led to a safety check for infinite directory recursion.  Yay.
      
      This hasn't actually been tested on the Mac filesystems where the
      issue occurs.  I still need to get test environment for that.
      Russell Belfer committed
    • Put hooks in place for precompose in dirload fn · 2fe54afa
      This doesn't actual do string precompose but it puts the hooks in
      place into the iterators and the git_path_dirload function so that
      the actual precompose work is ready to go.
      Russell Belfer committed
    • Add check if we need to precompose unicode on Mac · 6b7991e2
      This adds initialization of core.precomposeunicode to repo init
      on Mac.  This is necessary because when a Mac accesses a repo on
      a VFAT or SAMBA file system, it will return directory entries in
      decomposed unicode even if the filesystem entry is precomposed.
      
      This also removes caching of a number of repo properties from the
      repo init pipeline because these are properties of the specific
      filesystem on which the repo is created, not of the system as a
      whole.
      Russell Belfer committed
    • Merge pull request #1888 from jamill/network_cancellation · 146b4d1c
      network cancellation improvements
      Vicent Martí committed