1. 10 Apr, 2012 1 commit
  2. 04 Apr, 2012 1 commit
  3. 28 Mar, 2012 1 commit
    • Added submodule API and use in status · bfc9ca59
      When processing status for a newly checked out repo, it is
      possible that there will be submodules that have not yet been
      initialized.  The only way to distinguish these from untracked
      directories is to have some knowledge of submodules.  This
      commit adds a new submodule API which, given a name or path,
      can determine if it appears to be a submodule and can give
      information about the submodule.
      Russell Belfer committed
  4. 26 Mar, 2012 1 commit
  5. 23 Mar, 2012 2 commits
    • Restore default status recursion behavior · c8838ee9
      This gives `git_status_foreach()` back its old behavior of
      emulating the "--untracked=all" behavior of git.  You can
      get any of the various --untracked options by passing flags
      to `git_status_foreach_ext()` but the basic version will
      keep the behavior it has always had.
      Russell Belfer committed
    • Fix crash in new status and add recurse option · 4b136a94
      This fixes the bug that @nulltoken found (thank you!) where
      if there were untracked directories alphabetically after the
      last tracked item, the diff implementation would deref a NULL
      pointer.
      
      The fix involved the code which decides if it is necessary
      to recurse into a directory in the working dir, so it was
      easy to add a new option `GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS`
      to control if the contents of untracked directories should be
      included in status.
      Russell Belfer committed
  6. 22 Mar, 2012 3 commits
    • Migrate remaining status tests to Clar · 98c4613e
      This finishes up the migration of remaining tests from
      tests/t18-status.c over the tests-clar/status/worktree.c.
      Russell Belfer committed
    • More status testing · a56aacf4
      This "fixes" the broken t18 status tests to accurately reflect
      the new behavior for "created" untracked subdirectories.  See
      discussion in the PR for more details.
      
      This also contains the submodules unit test that I forgot to
      git add, and ports most of the t18-status.c tests to clar (still
      missing a couple of the git_status_file() single file tests).
      Russell Belfer committed
    • Adding new tests for new status command · 95340398
      This is a work in progress.  This adds two new sets of tests,
      the issue_592 tests from @nulltoken's pull request #601 and
      some new tests for submodules.  The submodule tests still have
      issues where the status is not reported correctly.  That needs
      to be fixed before merge.
      Russell Belfer committed
  7. 16 Mar, 2012 1 commit
  8. 02 Mar, 2012 3 commits
    • Revert GIT_STATUS constants to avoid issues · e1bcc191
      This reverts the changes to the GIT_STATUS constants and adds a
      new enumeration to describe the type of change in a git_diff_delta.
      I don't love this solution, but it should prevent strange errors
      from occurring for now.  Eventually, I would like to unify the
      various status constants, but it needs a larger plan and I just
      wanted to eliminate this breakage quickly.
      Russell Belfer committed
    • Clean up GIT_UNUSED macros on all platforms · 854eccbb
      It turns out that commit 31e9cfc4cbcaf1b38cdd3dbe3282a8f57e5366a5
      did not fix the GIT_USUSED behavior on all platforms.  This commit
      walks through and really cleans things up more thoroughly, getting
      rid of the unnecessary stuff.
      
      To remove the use of some GIT_UNUSED, I ended up adding a couple
      of new iterators for hashtables that allow you to iterator just
      over keys or just over values.
      
      In making this change, I found a bug in the clar tests (where we
      were doing *count++ but meant to do (*count)++ to increment the
      value).  I fixed that but then found the test failing because it
      was not really using an empty repo.  So, I took some of the code
      that I wrote for iterator testing and moved it to clar_helpers.c,
      then made use of that to make it easier to open fixtures on a
      per test basis even within a single test file.
      Russell Belfer committed
    • Update diff to use iterators · 74fa4bfa
      This is a major reorganization of the diff code.  This changes
      the diff functions to use the iterators for traversing the
      content.  This allowed a lot of code to be simplified.  Also,
      this moved the functions relating to outputting a diff into a
      new file (diff_output.c).
      
      This includes a number of other changes - adding utility
      functions, extending iterators, etc. plus more tests for the
      diff code.  This also takes the example diff.c program much
      further in terms of emulating git-diff command line options.
      Russell Belfer committed
  9. 01 Feb, 2012 1 commit
  10. 25 Jan, 2012 1 commit