1. 28 May, 2014 3 commits
  2. 21 May, 2014 2 commits
  3. 20 May, 2014 1 commit
  4. 19 May, 2014 2 commits
  5. 18 May, 2014 1 commit
  6. 17 May, 2014 1 commit
  7. 16 May, 2014 2 commits
  8. 15 May, 2014 1 commit
    • Better search path sandboxing · 8487e237
      There are a number of tests that modify the global or system
      search paths during the tests.  This adds a helper function to
      make it easier to restore those paths and makes sure that they
      are getting restored in a manner that preserves test isolation.
      Russell Belfer committed
  9. 12 May, 2014 1 commit
  10. 08 May, 2014 5 commits
    • Disable threads::refdb::edit_while_iterate test · bb45e390
      It seems that with the various recent changes to reference updating
      and reflog writing, that the thread safety of refdb updates has
      been reduced (either that or it was never thread safe and the
      window for error has increased).  Either way, this test is now
      sometimes segfaulting which is no good, so let's disable the test
      for now.  We don't really make any public promises about thread
      safety for this type of operation, so I think this is acceptable,
      at least in the short term.
      Russell Belfer committed
    • Don't always test composed-insensitive lookups · 8a2ef218
      Only on a filesystem that is composed/decomposed insensitive,
      should be testing that a branch can be looked up by the opposite
      form and still work correctly.
      Russell Belfer committed
    • Allow cl_repo_get_bool to work with missing key · be20ac5a
      One of the test helpers provides a quick way for looking up a
      boolean key.  But if the key way missing completely, the check
      would actually raise an error.  Given the way we use this helper,
      if the key is missing, this should just return false, I think.
      Russell Belfer committed
    • Pass unconverted data when iconv doesn't like it · 43a04135
      When using Iconv to convert unicode data and iconv doesn't like
      the source data (because it thinks that it's not actual UTF-8),
      instead of stopping the operation, just use the unconverted data.
      This will generally do the right thing on the filesystem, since
      that is the source of the non-UTF-8 path data anyhow.
      
      This adds some tests for creating and looking up branches with
      messy Unicode names.  Also, this takes the helper function that
      was previously internal to `git_repository_init` and makes it
      into `git_path_does_fs_decompose_unicode` which is a useful in
      tests to understand what the expected results should be.
      Russell Belfer committed
    • Be more careful with user-supplied buffers · 1e4976cb
      This adds in missing calls to `git_buf_sanitize` and fixes a
      number of places where `git_buf` APIs could inadvertently write
      NUL terminator bytes into invalid buffers.  This also changes the
      behavior of `git_buf_sanitize` to NUL terminate a buffer if it can
      and of `git_buf_shorten` to do nothing if it can.
      
      Adds tests of filtering code with zeroed (i.e. unsanitized) buffer
      which was previously triggering a segfault.
      Russell Belfer committed
  11. 06 May, 2014 2 commits
    • Add filter options and ALLOW_UNSAFE · 5269008c
      Diff and status do not want core.safecrlf to actually raise an
      error regardless of the setting, so this extends the filter API
      with an additional options flags parameter and adds a flag so that
      filters can be applied with GIT_FILTER_OPT_ALLOW_UNSAFE, indicating
      that unsafe filter application should be downgraded from a failure
      to a warning.
      Russell Belfer committed
    • Improve checks for ignore containment · f554611a
      The diff code was using an "ignored_prefix" directory to track if
      a parent directory was ignored that contained untracked files
      alongside tracked files. Unfortunately, when negative ignore rules
      were used for directories inside ignored parents, the wrong rules
      were applied to untracked files inside the negatively ignored
      child directories.
      
      This commit moves the logic for ignore containment into the workdir
      iterator (which is a better place for it), so the ignored-ness of
      a directory is contained in the frame stack during traversal.  This
      allows a child directory to override with a negative ignore and yet
      still restore the ignored state of the parent when we traverse out
      of the child.
      
      Along with this, there are some problems with "directory only"
      ignore rules on container directories.  Given "a/*" and "!a/b/c/"
      (where the second rule is a directory rule but the first rule is
      just a generic prefix rule), then the directory only constraint
      was having "a/b/c/d/file" match the first rule and not the second.
      This was fixed by having ignore directory-only rules test a rule
      against the prefix of a file with LEADINGDIR enabled.
      
      Lastly, spot checks for ignores using `git_ignore_path_is_ignored`
      were tested from the top directory down to the bottom to deal with
      the containment problem, but this is wrong. We have to test bottom
      to top so that negative subdirectory rules will be checked before
      parent ignore rules.
      
      This does change the behavior of some existing tests, but it seems
      only to bring us more in line with core Git, so I think those
      changes are acceptable.
      Russell Belfer committed
  12. 05 May, 2014 1 commit
  13. 02 May, 2014 11 commits
  14. 01 May, 2014 1 commit
  15. 30 Apr, 2014 2 commits
  16. 29 Apr, 2014 1 commit
    • commit: safer commit creation with reference update · 217c029b
      The current version of the commit creation and amend function are unsafe
      to use when passing the update_ref parameter, as they do not check that
      the reference at the moment of update points to what the user expects.
      
      Make sure that we're moving history forward when we ask the library to
      update the reference for us by checking that the first parent of the new
      commit is the current value of the reference. We also make sure that the
      ref we're updating hasn't moved between the read and the write.
      
      Similarly, when amending a commit, make sure that the current tip of the
      branch is the commit we're amending.
      Carlos Martín Nieto committed
  17. 26 Apr, 2014 1 commit
  18. 25 Apr, 2014 1 commit
  19. 24 Apr, 2014 1 commit