1. 30 Nov, 2012 1 commit
  2. 27 Nov, 2012 1 commit
  3. 23 Nov, 2012 1 commit
    • Reset all static variables to NULL in clar's __cleanup · 9094d30b
      Without this change, any failed assertion in the second (or a later) test
      inside a test suite has a chance of double deleting memory, resulting in
      a heap corruption. See #1096 for details.
      
      This leaves alone the test cases where we "just" use cl_git_sandbox_init()
      and cl_git_sandbox_cleanup(). These methods already take good care to not
      double delete a repository.
      
      Fixes #1096
      Sascha Cunz committed
  4. 22 Nov, 2012 2 commits
  5. 17 Nov, 2012 2 commits
  6. 11 Nov, 2012 1 commit
  7. 09 Nov, 2012 1 commit
    • Extensions to rmdir and mkdir utilities · 331e7de9
      * Rework GIT_DIRREMOVAL values to GIT_RMDIR flags, allowing
        combinations of flags
      * Add GIT_RMDIR_EMPTY_PARENTS flag to remove parent dirs that
        are left empty after removal
      * Add GIT_MKDIR_VERIFY_DIR to give an error if item is a file,
        not a dir (previously an EEXISTS error was ignored, even for
        files) and enable this flag for git_futils_mkpath2file call
      * Improve accuracy of error messages from git_futils_mkdir
      Russell Belfer committed
  8. 04 Nov, 2012 1 commit
  9. 27 Oct, 2012 1 commit
  10. 25 Oct, 2012 1 commit
  11. 24 Oct, 2012 1 commit
  12. 23 Oct, 2012 1 commit
    • Initial implementation of diff rename detection · b4f5bb07
      This implements the basis for diff rename and copy detection,
      although it is based on simple SHA comparison right now instead
      of using a matching algortihm.  Just as `git_diff_merge` can be
      used as a post-pass on diffs to emulate certain command line
      behaviors, there is a new API `git_diff_detect` which will
      update a diff list in-place, adjusting some deltas to RENAMED
      or COPIED state (and also, eventually, splitting MODIFIED deltas
      where the change is too large into DELETED/ADDED pairs).
      
      This also adds a new test repo that will hold rename/copy/split
      scenarios.  Right now, it just has exact-match rename and copy,
      but the tests are written to use tree diffs, so we should be able
      to add new test scenarios easily without breaking tests.
      Russell Belfer committed
  13. 22 Oct, 2012 1 commit
  14. 20 Oct, 2012 2 commits
  15. 19 Oct, 2012 1 commit
  16. 09 Oct, 2012 1 commit
    • Add complex checkout test and then fix checkout · 0d64bef9
      This started as a complex new test for checkout going through the
      "typechanges" test repository, but that revealed numerous issues
      with checkout, including:
      
      * complete failure with submodules
      * failure to create blobs with exec bits
      * problems when replacing a tree with a blob because the tree
        "example/" sorts after the blob "example" so the delete was
        being processed after the single file blob was created
      
      This fixes most of those problems and includes a number of other
      minor changes that made it easier to do that, including improving
      the TYPECHANGE support in diff/status, etc.
      Russell Belfer committed
  17. 17 Sep, 2012 4 commits
  18. 12 Sep, 2012 1 commit
  19. 11 Sep, 2012 1 commit
    • 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
  20. 29 Aug, 2012 1 commit
  21. 24 Aug, 2012 1 commit
  22. 22 Aug, 2012 1 commit
    • 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
  23. 01 Aug, 2012 1 commit
  24. 11 Jul, 2012 1 commit
    • Add flag to write gitlink on setting repo workdir · 991a56c7
      This added a flag to the `git_repository_set_workdir()` function
      that enables generation of a `.git` gitlink file that links the
      new workdir to the parent repository.  Essentially, the flag tells
      the function to write out the changes to disk to permanently set
      the workdir of the repository to the new path.
      
      If you pass this flag as true, then setting the workdir to something
      other than the default workdir (i.e. the parent of the .git repo
      directory), will create a plain file named ".git" with the standard
      gitlink contents "gitdir: <repo-path>", and also update the
      "core.worktree" and "core.bare" config values.
      
      Setting the workdir to the default repo workdir will clear the
      core.worktree flag (but still permanently set core.bare to false).
      
      BTW, the libgit2 API does not currently provide a function for
      clearing the workdir and converting a non-bare repo into a bare one.
      Russell Belfer committed
  25. 03 Jul, 2012 1 commit
  26. 22 Jun, 2012 2 commits
  27. 21 Jun, 2012 1 commit
  28. 12 Jun, 2012 2 commits
  29. 05 Jun, 2012 2 commits
  30. 17 May, 2012 2 commits