- 25 Apr, 2014 4 commits
-
-
Jiri Pospisil committed
-
Fire progress and update tips callbacks also for pushes.
Vicent Marti committed -
Improve test coverage of status with different core.precomposeunicode settings
Vicent Marti committed -
Improve stash and checkout for ignored + untracked items
Vicent Marti committed
-
- 24 Apr, 2014 7 commits
-
-
Merge checkout strategy
Russell Belfer committed -
and make tests empty on platforms without iconv support.
Russell Belfer committed -
There is an interesting difference with core Git here, though. Because libgit2 will do rename detection with the working directory, in the last case where the HEAD and the working directory both have the decomposed data and the index has the composed data, we generate a single status record with two renames whereas Git will generate one rename (head to index) and one untracked file.
Russell Belfer committed -
Russell Belfer committed
-
When considering status of untracked directories, if we find an explicitly ignored item, even if it is a directory, treat the parent as an IGNORED item. It was accidentally being treated as an EMPTY item because we were not looking into the ignored subdir.
Russell Belfer committed -
fetchhead: deal with quotes in branch names
Vicent Marti committed -
The current FETCH_HEAD parsing code assumes that a quote must end the branch name. Git however allows for quotes as part of a branch name, which causes us to consider the FETCH_HEAD file as invalid. Instead of searching for a single quote char, search for a quote char followed by SP, which is not a valid part of a ref name.
Carlos Martín Nieto committed
-
- 23 Apr, 2014 9 commits
-
-
Edward Thomson committed
-
Edward Thomson committed
-
In the iterator, distinguish between ignores and empty directories so that diff and status can ignore empty directories, but checkout and stash can treat them as untracked items.
Russell Belfer committed -
patch: emit deflated binary patches (optionally)
Vicent Marti committed -
Win32: UTF-8 <-> WCHAR conversion overhaul
Vicent Marti committed -
Philip Kelley committed
-
Some doc and examples/diff.c changes
Vicent Marti committed -
When diff finds an untracked directory, it emulates Git behavior by looking inside the directory to see if there are any untracked items inside it. If there are only ignored items inside the dir, then diff considers it ignored, even if there is no direct ignore rule for it. Checkout was not copying this behavior - when it found an untracked directory, it just treated it as untracked. Unfortunately, when combined with GIT_CHECKOUT_REMOVE_UNTRACKED, this made is seem that checkout (and stash, which uses checkout) was removing ignored items when you had only asked it to remove untracked ones. This commit moves the logic for advancing past an untracked dir while scanning for non-ignored items into an iterator helper fn, and uses that for both diff and checkout.
Russell Belfer committed -
Edward Thomson committed
-
- 22 Apr, 2014 11 commits
-
-
Russell Belfer committed
-
To emulate git, stash should not remove untracked git repositories inside the parent repo, and checkout's REMOVE_UNTRACKED should also skip over these items. `git stash` actually prints a warning message for these items. That should be possible with a checkout notify callback if you wanted to, although it would require a bit of extra logic as things are at the moment.
Russell Belfer committed -
Russell Belfer committed
-
This takes the `--stat` and related example options in the example diff.c program and converts them to use the `git_diff_get_stats` API which nicely formats stats for you. I went to add bar-graph scaling to the stats formatter and noticed that the `git_diff_stats` structure was holding on to all of the `git_patch` objects. Unfortunately, each of these objects keeps the full text of the diff in memory, so this is very expensive. I ended up modifying `git_diff_stats` to keep just the data that it needs to keep and allowed it to release the patches. Then, I added width scaling to the output on top of that. In making the diff example program match 'git diff' output, I ended up removing an newline from the sumamry output which I then had to compensate for in the email formatting to match the expectations. Lastly, I went through and refactored the tests to use a couple of helper functions and reduce the overall amount of code there.
Russell Belfer committed -
I was playing with "git diff-index" and wanted to be able to emulate that behavior a little more closely with the diff example. Also, I wanted to play with running `git_diff_tree_to_workdir` directly even though core Git doesn't exactly have the equivalent, so I added a command line option for that and tweaked some other things in the example code. This changes a minor output thing in that the "raw" print helper function will no longer add ellipses (...) if the OID is not actually abbreviated.
Russell Belfer committed -
A few niceties for binding authors
Vicent Marti committed -
Allow the credentials callback to return GIT_PASSTHROUGH to make the transports code behave as though none was set. This should make it easier for bindings to behave closer to the C code when there is no credentials callback set at their level.
Carlos Martín Nieto committed -
This should make it easier for bindings to dynamically override their own callbacks.
Carlos Martín Nieto committed -
Fix some issues from the last Coverity scan
Vicent Marti committed -
Fix reset for staged deletes
Vicent Marti committed -
Edward Thomson committed
-
- 21 Apr, 2014 9 commits
-
-
Russell Belfer committed
-
Russell Belfer committed
-
Jacques Germishuys committed
-
Check for compiler flag support instead of checking for a platform
Russell Belfer committed -
Jacques Germishuys committed
-
Reported by coverity.
Carlos Martín Nieto committed -
Jacques Germishuys committed
-
Jacques Germishuys committed
-
Returning an error cleared the buf, but this operation does not free the memory associated with it. Use git_buf_free() instead.
Carlos Martín Nieto committed
-