- 08 Oct, 2012 6 commits
-
-
The adds a test for the submodule diff capabilities and then fixes a few bugs with how the output is generated. It improves the accuracy of OIDs in the diff delta object and makes the submodule output more closely mirror the OIDs that will be used by core git.
Russell Belfer committed -
Russell Belfer committed
-
There are a few cases where diff should leave directories in the diff list if we want to match core git, such as when the directory contains a .git dir. That feature was lost when I introduced some of the new submodule handling. This restores that and then fixes a couple of related to diff output that are triggered by having diffs with directories in them. Also, this adds a new flag that can be passed to diff if you want diff output to actually include the file content of any untracked files.
Russell Belfer committed -
Diff: Show submodule diff
Russell Belfer committed -
Fix a bug where ignorecase wasn't applied to ignores
Russell Belfer committed -
Philip Kelley committed
-
- 07 Oct, 2012 2 commits
-
-
The reference is only needed inside the function. We mistakenly increased the reference counter causing the ODB not to get freed and leaking descriptors.
Carlos Martín Nieto committed -
Storing flushes in the refs vector doesn't let us recognize when the remote is empty, as we'd always introduce at least one element into it. These flushes aren't necessary, so we can simply ignore them.
Carlos Martín Nieto committed
-
- 05 Oct, 2012 5 commits
-
-
We don't have anything useful that we could do with that oid anyway (We need to query the submodule for the HEAD commit instead). Without this, the following code creates the error "Failed to read descriptor: Is a directory" when run against the submod2 test-case: const char* oidstr = "873585b94bdeabccea991ea5e3ec1a277895b698"; git_tree* tree = resolve_commit_oid_to_tree(g_repo, oidstr); git_diff_list* diff = NULL; cl_assert(tree); cl_git_pass(git_diff_workdir_to_tree(g_repo, NULL, tree, &diff));
Sascha Cunz committed -
Sascha Cunz committed
-
1. teach diff.c:maybe_modified to query git_submodule_status for the modification state of a submodule. According to the git_submodule_status docs, it will filter for to-ignore states already. 2. teach diff_output.c:get_workdir_content to check the submodule status again and create a line like: Subproject commit <SHA-1>\n or Subproject comimt <SHA-1>-dirty\n like git.git does.
Sascha Cunz committed -
diff_output.c:get_blob_content used to try to read the submodule commit as a blob in the superproject's odb. Of course it cannot find it and errors out with GIT_ENOTFOUND, implcitly terminating the whole diff output. This patch teaches it to create a text that describes the submodule instead. The text looks like: Subproject commit <SHA1>\n which is what git.git does, too.
Sascha Cunz committed -
Sascha Cunz committed
-
- 02 Oct, 2012 3 commits
-
-
Vicent Marti committed
-
ODB: re-load packfiles on failed lookup
Russell Belfer committed -
Support for the core.ignorecase flag
Russell Belfer committed
-
- 01 Oct, 2012 5 commits
-
-
Win64 cleanups
Vicent Martí committed -
Russell Belfer committed
-
Vicent Marti committed
-
Vicent Marti committed
-
Include tag
Vicent Martí committed
-
- 30 Sep, 2012 8 commits
-
-
Also honor remote.$name.tagopt = --tags.
Carlos Martín Nieto committed -
The local function works for simple cases, but we shouldn't reinvent the wheel just for us.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
Together with include-tag, this make us behave more like git. After a fetch, try to create any tags the remote told us about for which we have objects locally.
Carlos Martín Nieto committed -
This tells the remote to send us any tags that point to objects that we are downloading.
Carlos Martín Nieto committed -
Indicate whether the error comes from the ref already existing or elsewhere. We always perform the check and this lets the user write more concise code.
Carlos Martín Nieto committed -
The latter shouldn't be exposed and isn't used, git_refspec__parse supersedes it. Fix a leak in the refspec tests while we're at it.
Carlos Martín Nieto committed -
Carlos Martín Nieto committed
-
- 28 Sep, 2012 4 commits
-
-
Russell Belfer committed
-
Fix error hashing empty file.
Vicent Martí committed -
revwalk: fix off-by-one error
Vicent Martí committed -
Create a diff patch object as a replacement for iterators
Vicent Martí committed
-
- 27 Sep, 2012 2 commits
-
-
Jameson Miller committed
-
Fixes #921.
Michael Schubert committed
-
- 25 Sep, 2012 5 commits
-
-
There are a lot of places where the diff API gives the user access to internal data structures and many of these were being exposed through non-const pointers. This replaces them all with const pointers for any object that the user can access but is still owned internally to the git_diff_list or git_diff_patch objects. This will probably break some bindings... Sorry!
Russell Belfer committed -
This fixes all the bugs in the new diff patch code. The only really interesting one is that when we merge two diffs, we now have to actually exclude diff delta records that are not supposed to be tracked, as opposed to before where they could be included because they would be skipped silently by `git_diff_foreach()`. Other than that, there are just minor errors.
Russell Belfer committed -
Replacing the `git_iterator` object, this creates a simple API for accessing the "patch" for any file pair in a diff list and then gives indexed access to the hunks in the patch and the lines in the hunk. This is the initial implementation of this revised API - it is still broken, but at least builds cleanly.
Russell Belfer committed -
Allow diff deltas to be accessed by index and make patch generation explicit with hunk and line access by index as well.
Russell Belfer committed -
Make giterr_set_str() and giterr_set_oom() public APIs
Vicent Martí committed
-