summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | http: don't discard the HEAD refCarlos Martín Nieto2012-10-101-4/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fix for fetching from empty repositories (22935b06d protocol: don't store flushes; 2012-10-07) forgot to take into account the deletion of the flush pkt in the HTTP transport. As a result, the HEAD ref advertisement where we detect the remote's capabilities was deleted instead. Fix this.
* | | | fixup! gsoc-pack-objects WIPMichael Schubert2012-10-092-63/+41
| | | | | | | | | | | | | | | | Use khash instead of git.git's hashing algorithm.
* | | | gsoc-pack-objects WIPMichael Schubert2012-10-092-0/+1424
| | | |
* | | | Add diff-delta code from git.gitMichael Schubert2012-10-092-0/+603
| | | |
* | | | indexer: do not require absolute pathMichael Schubert2012-10-091-5/+0
| | | |
* | | | Enable pthread condition varsMichael Schubert2012-10-091-7/+7
| | | |
* | | | Add git_tag_foreachMichael Schubert2012-10-091-9/+40
| | | |
* | | | git_odb_object_free: don't segfault w/ arg == NULLMichael Schubert2012-10-091-0/+3
| | | |
* | | | util: add git__compress()Michael Schubert2012-10-092-0/+69
| |/ / |/| |
* | | Merge pull request #967 from arrbee/diff-submodule-tests-and-fixesVicent Martí2012-10-094-26/+104
|\ \ \ | | | | | | | | Diff submodule tests and fixes
| * | | Add test for diffs with submodules and bug fixesRussell Belfer2012-10-082-22/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Fix a few diff bugs with directory contentRussell Belfer2012-10-084-4/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Fix compiler warningsMichael Schubert2012-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | * tests-clar/status: remove an unused variable * clone: fix -Wmaybe-uninitialized warning
* | | | Merge pull request #949 from nulltoken/topic/deploy_repository_set_headBen Straub2012-10-0810-137/+292
|\ \ \ \ | |/ / / |/| | | Deploy git_repository_set_head()
| * | | clone: fix cloning of empty repositorynulltoken2012-10-081-42/+105
| | | |
| * | | clone: leverage refspec transformnulltoken2012-10-081-19/+74
| | | |
| * | | refspec: introduce git_refspec_transform_l()nulltoken2012-10-082-4/+25
| | | |
| * | | clone: align type casing with conventionnulltoken2012-10-081-8/+8
| | | |
| * | | branch: deploy git_branch_is_head()nulltoken2012-10-082-26/+10
| | | |
| * | | branch: introduce git_branch_is_head()nulltoken2012-10-071-0/+23
| | | |
| * | | refs: deploy git_repository_set_head() usagenulltoken2012-10-071-17/+13
| | | |
| * | | clone: deploy git_repository_set_head() usagenulltoken2012-10-071-15/+20
| | | |
| * | | reset: make reset rely on git_repository_head()nulltoken2012-10-071-1/+6
| | | |
| * | | remote: use constants for well-known namesnulltoken2012-10-073-3/+6
| | | |
| * | | refs: use constants for well-known namesnulltoken2012-10-075-17/+17
| | | |
* | | | Merge pull request #940 from scunz/diff_smRussell Belfer2012-10-082-6/+74
|\ \ \ \ | | | | | | | | | | Diff: Show submodule diff
| * | | | Diff: Do not try to calculate an oid for a GITLINK.Sascha Cunz2012-10-051-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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));
| * | | | Extract submodule logic out of diff_output.c:get_workdir_contentSascha Cunz2012-10-051-33/+40
| | | | |
| * | | | Diff: teach get_workdir_content to show a submodule as textSascha Cunz2012-10-052-2/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Diff: teach get_blob_content to show a submodule as textSascha Cunz2012-10-051-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Fix minor whitespace issueSascha Cunz2012-10-051-3/+3
| | | | |
* | | | | Fix a bug where ignorecase wasn't applied to ignoresPhilip Kelley2012-10-081-4/+5
| |/ / / |/| | |
* | | | remote: only keep a weak pointer in update_tipsCarlos Martín Nieto2012-10-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The reference is only needed inside the function. We mistakenly increased the reference counter causing the ODB not to get freed and leaking descriptors.
* | | | protocol: don't store flushesCarlos Martín Nieto2012-10-071-2/+4
|/ / / | | | | | | | | | | | | | | | 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.
* | | Merge pull request #932 from ben/clone_pack_raceRussell Belfer2012-10-021-27/+57
|\ \ \ | | | | | | | | ODB: re-load packfiles on failed lookup
| * | | ODB pack: snapshot last_found to avoid raceBen Straub2012-09-191-16/+17
| | | | | | | | | | | | | | | | Also removed unnecessary refresh call and fixed some indentation.
| * | | Remove mtime checks from ODB packfile backendBen Straub2012-09-191-23/+32
| | | | | | | | | | | | | | | | | | | | Now forcing refresh on a foreach, and on missed full-oid or short-oid lookups.
| * | | ODB: re-load packfiles on failed lookupBen Straub2012-09-191-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old method was avoiding re-loading of packfiles by watching the mtime of the pack directory. This causes the ODB to become stale if the directory and packfile are written within the same clock millisecond, as when cloning a fairly small repo. This method tries to find the object in the cached packs, and forces a refresh when that fails. This will cause extra stat'ing on a miss, but speeds up the success case and avoids this race condition.
* | | | Merge pull request #939 from pwkelley/ignorecaseRussell Belfer2012-10-0216-49/+417
|\ \ \ \ | |_|_|/ |/| | | Support for the core.ignorecase flag
| * | | Minor fixes for ignorecase supportPhilip Kelley2012-09-173-2/+4
| | | |
| * | | Support for core.ignorecasePhilip Kelley2012-09-1716-49/+415
| | | |
* | | | Merge pull request #961 from arrbee/win64-cleanupsVicent Martí2012-10-013-8/+8
|\ \ \ \ | | | | | | | | | | Win64 cleanups
| * | | | Fix up more Win64 compile warningsRussell Belfer2012-10-011-6/+6
| | | | |
| * | | | Clean up Win64 warningsRussell Belfer2012-09-282-2/+2
| | | | |
* | | | | threads: Assert that the global state is initializedVicent Marti2012-10-011-0/+4
| | | | |
* | | | | remote: Fix mid-block declarationVicent Marti2012-10-011-1/+1
| | | | |
* | | | | remote: support downloading all tagsCarlos Martín Nieto2012-09-304-14/+26
| | | | | | | | | | | | | | | | | | | | Also honor remote.$name.tagopt = --tags.
* | | | | remote: use the refspec functions to parse, instead of rolling our ownCarlos Martín Nieto2012-09-301-37/+9
| | | | | | | | | | | | | | | | | | | | | | | | | The local function works for simple cases, but we shouldn't reinvent the wheel just for us.
* | | | | remote: add accessors for the autotag settingCarlos Martín Nieto2012-09-301-0/+10
| | | | |
* | | | | remote: create tags if we have themCarlos Martín Nieto2012-09-301-7/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.