1. 05 Sep, 2016 1 commit
    • cmake: add curl library path · 528b2f7d
      The `PKG_CHECK_MODULES` function searches a pkg-config module and
      then proceeds to set various variables containing information on
      how to link to the library. In contrast to the `FIND_PACKAGE`
      function, the library path set by `PKG_CHECK_MODULES` will not
      necessarily contain linking instructions with a complete path to
      the library, though. So when a library is not installed in a
      standard location, the linker might later fail due to being
      unable to locate it.
      
      While we already honor this when configuring libssh2 by adding
      `LIBSSH2_LIBRARY_DIRS` to the link directories, we fail to do so
      for libcurl, preventing us to build libgit2 on e.g. FreeBSD. Fix
      the issue by adding the curl library directory to the linker
      search path.
      Patrick Steinhardt committed
  2. 30 Aug, 2016 2 commits
  3. 29 Aug, 2016 3 commits
  4. 26 Aug, 2016 1 commit
  5. 24 Aug, 2016 2 commits
  6. 22 Aug, 2016 1 commit
  7. 17 Aug, 2016 4 commits
  8. 12 Aug, 2016 1 commit
    • ignore: allow unignoring basenames in subdirectories · fcb2c1c8
      The .gitignore file allows for patterns which unignore previous
      ignore patterns. When unignoring a previous pattern, there are
      basically three cases how this is matched when no globbing is
      used:
      
      1. when a previous file has been ignored, it can be unignored by
         using its exact name, e.g.
      
         foo/bar
         !foo/bar
      
      2. when a file in a subdirectory has been ignored, it can be
         unignored by using its basename, e.g.
      
         foo/bar
         !bar
      
      3. when all files with a basename are ignored, a specific file
         can be unignored again by specifying its path in a
         subdirectory, e.g.
      
         bar
         !foo/bar
      
      The first problem in libgit2 is that we did not correctly treat
      the second case. While we verified that the negative pattern
      matches the tail of the positive one, we did not verify if it
      only matches the basename of the positive pattern. So e.g. we
      would have also negated a pattern like
      
          foo/fruz_bar
          !bar
      
      Furthermore, we did not check for the third case, where a
      basename is being unignored in a certain subdirectory again.
      
      Both issues are fixed with this commit.
      Patrick Steinhardt committed
  9. 10 Aug, 2016 2 commits
  10. 09 Aug, 2016 4 commits
  11. 08 Aug, 2016 4 commits
  12. 06 Aug, 2016 2 commits
  13. 05 Aug, 2016 7 commits
  14. 04 Aug, 2016 6 commits