rugged 1.3.2 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +34 -2
- data/ext/rugged/extconf.rb +7 -4
- data/ext/rugged/rugged.c +16 -0
- data/ext/rugged/rugged.h +4 -0
- data/ext/rugged/rugged_blame.c +2 -0
- data/ext/rugged/rugged_blob.c +3 -0
- data/ext/rugged/rugged_commit.c +1 -0
- data/ext/rugged/rugged_config.c +9 -2
- data/ext/rugged/rugged_diff.c +1 -0
- data/ext/rugged/rugged_index.c +2 -0
- data/ext/rugged/rugged_patch.c +1 -0
- data/ext/rugged/rugged_rebase.c +1 -0
- data/ext/rugged/rugged_reference.c +1 -0
- data/ext/rugged/rugged_remote.c +28 -10
- data/ext/rugged/rugged_repo.c +7 -9
- data/ext/rugged/rugged_revwalk.c +5 -1
- data/ext/rugged/rugged_settings.c +5 -0
- data/ext/rugged/rugged_submodule.c +1 -0
- data/ext/rugged/rugged_tag.c +1 -0
- data/ext/rugged/rugged_tree.c +4 -0
- data/lib/rugged/index.rb +1 -1
- data/lib/rugged/tree.rb +5 -1
- data/lib/rugged/version.rb +1 -1
- data/vendor/libgit2/CMakeLists.txt +132 -288
- data/vendor/libgit2/COPYING +106 -19
- data/vendor/libgit2/cmake/AddCFlagIfSupported.cmake +21 -21
- data/vendor/libgit2/cmake/AddClarTest.cmake +7 -0
- data/vendor/libgit2/cmake/DefaultCFlags.cmake +154 -0
- data/vendor/libgit2/cmake/EnableWarnings.cmake +13 -13
- data/vendor/libgit2/cmake/ExperimentalFeatures.cmake +23 -0
- data/vendor/libgit2/cmake/FindCoreFoundation.cmake +13 -13
- data/vendor/libgit2/cmake/FindGSSAPI.cmake +171 -287
- data/vendor/libgit2/cmake/FindGSSFramework.cmake +13 -13
- data/vendor/libgit2/cmake/{FindHTTP_Parser.cmake → FindHTTPParser.cmake} +17 -17
- data/vendor/libgit2/cmake/FindIconv.cmake +27 -27
- data/vendor/libgit2/cmake/FindLibSSH2.cmake +5 -5
- data/vendor/libgit2/cmake/FindPCRE.cmake +12 -13
- data/vendor/libgit2/cmake/FindPCRE2.cmake +12 -12
- data/vendor/libgit2/cmake/FindPkgLibraries.cmake +19 -19
- data/vendor/libgit2/cmake/FindSecurity.cmake +14 -14
- data/vendor/libgit2/cmake/FindStatNsec.cmake +12 -18
- data/vendor/libgit2/cmake/Findfutimens.cmake +8 -8
- data/vendor/libgit2/cmake/FindmbedTLS.cmake +63 -70
- data/vendor/libgit2/cmake/IdeSplitSources.cmake +18 -18
- data/vendor/libgit2/cmake/PkgBuildConfig.cmake +60 -60
- data/vendor/libgit2/cmake/SanitizeBool.cmake +20 -20
- data/vendor/libgit2/cmake/SelectGSSAPI.cmake +37 -37
- data/vendor/libgit2/cmake/SelectHTTPParser.cmake +19 -0
- data/vendor/libgit2/cmake/SelectHTTPSBackend.cmake +100 -100
- data/vendor/libgit2/cmake/SelectHashes.cmake +91 -53
- data/vendor/libgit2/cmake/SelectRegex.cmake +51 -0
- data/vendor/libgit2/cmake/SelectSSH.cmake +41 -0
- data/vendor/libgit2/cmake/SelectWinHTTP.cmake +17 -0
- data/vendor/libgit2/cmake/SelectZlib.cmake +34 -0
- data/vendor/libgit2/deps/chromium-zlib/CMakeLists.txt +6 -6
- data/vendor/libgit2/deps/ntlmclient/CMakeLists.txt +33 -31
- data/vendor/libgit2/deps/ntlmclient/crypt_openssl.c +3 -1
- data/vendor/libgit2/deps/ntlmclient/ntlm.c +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlm.h +4 -4
- data/vendor/libgit2/deps/ntlmclient/ntlmclient.h +2 -2
- data/vendor/libgit2/deps/pcre/CMakeLists.txt +88 -88
- data/vendor/libgit2/deps/winhttp/CMakeLists.txt +14 -16
- data/vendor/libgit2/deps/zlib/adler32.c +7 -0
- data/vendor/libgit2/deps/zlib/crc32.c +975 -288
- data/vendor/libgit2/deps/zlib/crc32.h +9441 -436
- data/vendor/libgit2/deps/zlib/deflate.c +83 -31
- data/vendor/libgit2/deps/zlib/deflate.h +12 -15
- data/vendor/libgit2/deps/zlib/gzguts.h +3 -2
- data/vendor/libgit2/deps/zlib/infback.c +2 -1
- data/vendor/libgit2/deps/zlib/inffast.c +14 -14
- data/vendor/libgit2/deps/zlib/inflate.c +39 -8
- data/vendor/libgit2/deps/zlib/inflate.h +3 -2
- data/vendor/libgit2/deps/zlib/inftrees.c +3 -3
- data/vendor/libgit2/deps/zlib/trees.c +27 -48
- data/vendor/libgit2/deps/zlib/zlib.h +126 -100
- data/vendor/libgit2/deps/zlib/zutil.c +2 -2
- data/vendor/libgit2/deps/zlib/zutil.h +12 -9
- data/vendor/libgit2/include/git2/apply.h +16 -2
- data/vendor/libgit2/include/git2/attr.h +11 -2
- data/vendor/libgit2/include/git2/blame.h +4 -1
- data/vendor/libgit2/include/git2/blob.h +14 -1
- data/vendor/libgit2/include/git2/branch.h +4 -2
- data/vendor/libgit2/include/git2/buffer.h +18 -78
- data/vendor/libgit2/include/git2/cert.h +2 -2
- data/vendor/libgit2/include/git2/checkout.h +5 -2
- data/vendor/libgit2/include/git2/clone.h +3 -3
- data/vendor/libgit2/include/git2/commit.h +2 -0
- data/vendor/libgit2/include/git2/common.h +28 -7
- data/vendor/libgit2/include/git2/config.h +25 -9
- data/vendor/libgit2/include/git2/credential.h +2 -1
- data/vendor/libgit2/include/git2/credential_helpers.h +1 -0
- data/vendor/libgit2/include/git2/deprecated.h +9 -1
- data/vendor/libgit2/include/git2/describe.h +7 -2
- data/vendor/libgit2/include/git2/diff.h +18 -10
- data/vendor/libgit2/include/git2/email.h +1 -1
- data/vendor/libgit2/include/git2/errors.h +17 -3
- data/vendor/libgit2/include/git2/experimental.h +20 -0
- data/vendor/libgit2/include/git2/filter.h +7 -2
- data/vendor/libgit2/include/git2/graph.h +1 -0
- data/vendor/libgit2/include/git2/ignore.h +1 -1
- data/vendor/libgit2/include/git2/index.h +11 -5
- data/vendor/libgit2/include/git2/indexer.h +48 -0
- data/vendor/libgit2/include/git2/merge.h +24 -4
- data/vendor/libgit2/include/git2/message.h +2 -0
- data/vendor/libgit2/include/git2/object.h +49 -0
- data/vendor/libgit2/include/git2/odb.h +94 -13
- data/vendor/libgit2/include/git2/odb_backend.h +107 -19
- data/vendor/libgit2/include/git2/oid.h +115 -15
- data/vendor/libgit2/include/git2/pack.h +24 -8
- data/vendor/libgit2/include/git2/patch.h +8 -0
- data/vendor/libgit2/include/git2/pathspec.h +1 -1
- data/vendor/libgit2/include/git2/proxy.h +1 -1
- data/vendor/libgit2/include/git2/rebase.h +9 -1
- data/vendor/libgit2/include/git2/refdb.h +3 -0
- data/vendor/libgit2/include/git2/reflog.h +1 -1
- data/vendor/libgit2/include/git2/refs.h +2 -2
- data/vendor/libgit2/include/git2/remote.h +184 -37
- data/vendor/libgit2/include/git2/repository.h +34 -10
- data/vendor/libgit2/include/git2/reset.h +2 -2
- data/vendor/libgit2/include/git2/revparse.h +1 -1
- data/vendor/libgit2/include/git2/revwalk.h +4 -1
- data/vendor/libgit2/include/git2/signature.h +1 -1
- data/vendor/libgit2/include/git2/stash.h +61 -7
- data/vendor/libgit2/include/git2/status.h +14 -5
- data/vendor/libgit2/include/git2/strarray.h +0 -13
- data/vendor/libgit2/include/git2/submodule.h +7 -2
- data/vendor/libgit2/include/git2/sys/commit_graph.h +1 -1
- data/vendor/libgit2/include/git2/sys/odb_backend.h +3 -6
- data/vendor/libgit2/include/git2/sys/remote.h +46 -0
- data/vendor/libgit2/include/git2/sys/stream.h +1 -1
- data/vendor/libgit2/include/git2/sys/transport.h +46 -39
- data/vendor/libgit2/include/git2/tag.h +1 -0
- data/vendor/libgit2/include/git2/tree.h +4 -3
- data/vendor/libgit2/include/git2/types.h +7 -7
- data/vendor/libgit2/include/git2/version.h +27 -6
- data/vendor/libgit2/include/git2/worktree.h +12 -2
- data/vendor/libgit2/include/git2.h +1 -0
- data/vendor/libgit2/src/CMakeLists.txt +177 -419
- data/vendor/libgit2/src/README.md +12 -0
- data/vendor/libgit2/src/cli/CMakeLists.txt +57 -0
- data/vendor/libgit2/src/cli/README.md +26 -0
- data/vendor/libgit2/src/cli/cli.h +20 -0
- data/vendor/libgit2/src/cli/cmd.c +21 -0
- data/vendor/libgit2/src/cli/cmd.h +33 -0
- data/vendor/libgit2/src/cli/cmd_cat_file.c +204 -0
- data/vendor/libgit2/src/cli/cmd_clone.c +176 -0
- data/vendor/libgit2/src/cli/cmd_hash_object.c +154 -0
- data/vendor/libgit2/src/cli/cmd_help.c +86 -0
- data/vendor/libgit2/src/cli/error.h +51 -0
- data/vendor/libgit2/src/cli/main.c +106 -0
- data/vendor/libgit2/src/cli/opt.c +669 -0
- data/vendor/libgit2/src/cli/opt.h +349 -0
- data/vendor/libgit2/src/cli/opt_usage.c +194 -0
- data/vendor/libgit2/src/cli/opt_usage.h +35 -0
- data/vendor/libgit2/src/cli/progress.c +345 -0
- data/vendor/libgit2/src/cli/progress.h +117 -0
- data/vendor/libgit2/src/cli/sighandler.h +20 -0
- data/vendor/libgit2/src/cli/unix/sighandler.c +36 -0
- data/vendor/libgit2/src/cli/win32/precompiled.h +3 -0
- data/vendor/libgit2/src/cli/win32/sighandler.c +37 -0
- data/vendor/libgit2/src/libgit2/CMakeLists.txt +141 -0
- data/vendor/libgit2/src/{annotated_commit.c → libgit2/annotated_commit.c} +1 -1
- data/vendor/libgit2/src/{annotated_commit.h → libgit2/annotated_commit.h} +2 -2
- data/vendor/libgit2/src/{apply.c → libgit2/apply.c} +18 -18
- data/vendor/libgit2/src/{apply.h → libgit2/apply.h} +2 -2
- data/vendor/libgit2/src/{attr.c → libgit2/attr.c} +18 -18
- data/vendor/libgit2/src/{attr_file.c → libgit2/attr_file.c} +18 -18
- data/vendor/libgit2/src/{attr_file.h → libgit2/attr_file.h} +4 -4
- data/vendor/libgit2/src/{attrcache.c → libgit2/attrcache.c} +18 -13
- data/vendor/libgit2/src/{blame.c → libgit2/blame.c} +2 -0
- data/vendor/libgit2/src/{blame_git.c → libgit2/blame_git.c} +1 -1
- data/vendor/libgit2/src/{blob.c → libgit2/blob.c} +38 -29
- data/vendor/libgit2/src/{blob.h → libgit2/blob.h} +3 -3
- data/vendor/libgit2/src/{branch.c → libgit2/branch.c} +164 -118
- data/vendor/libgit2/src/{branch.h → libgit2/branch.h} +15 -3
- data/vendor/libgit2/src/libgit2/buf.c +126 -0
- data/vendor/libgit2/src/libgit2/buf.h +50 -0
- data/vendor/libgit2/src/{checkout.c → libgit2/checkout.c} +74 -68
- data/vendor/libgit2/src/{cherrypick.c → libgit2/cherrypick.c} +13 -13
- data/vendor/libgit2/src/{clone.c → libgit2/clone.c} +96 -67
- data/vendor/libgit2/src/{commit.c → libgit2/commit.c} +178 -73
- data/vendor/libgit2/src/libgit2/commit.h +87 -0
- data/vendor/libgit2/src/{commit_graph.c → libgit2/commit_graph.c} +122 -89
- data/vendor/libgit2/src/{commit_graph.h → libgit2/commit_graph.h} +14 -4
- data/vendor/libgit2/src/{commit_list.c → libgit2/commit_list.c} +7 -4
- data/vendor/libgit2/src/libgit2/common.h +55 -0
- data/vendor/libgit2/src/{config.c → libgit2/config.c} +101 -69
- data/vendor/libgit2/src/{config.h → libgit2/config.h} +15 -2
- data/vendor/libgit2/src/{config_file.c → libgit2/config_file.c} +105 -93
- data/vendor/libgit2/src/{config_mem.c → libgit2/config_mem.c} +9 -9
- data/vendor/libgit2/src/{config_parse.c → libgit2/config_parse.c} +27 -23
- data/vendor/libgit2/src/{crlf.c → libgit2/crlf.c} +24 -21
- data/vendor/libgit2/src/{describe.c → libgit2/describe.c} +35 -27
- data/vendor/libgit2/src/{diff.c → libgit2/diff.c} +30 -9
- data/vendor/libgit2/src/{diff.h → libgit2/diff.h} +2 -4
- data/vendor/libgit2/src/{diff_driver.c → libgit2/diff_driver.c} +34 -36
- data/vendor/libgit2/src/{diff_driver.h → libgit2/diff_driver.h} +3 -3
- data/vendor/libgit2/src/{diff_file.c → libgit2/diff_file.c} +44 -26
- data/vendor/libgit2/src/{diff_generate.c → libgit2/diff_generate.c} +47 -18
- data/vendor/libgit2/src/{diff_generate.h → libgit2/diff_generate.h} +5 -3
- data/vendor/libgit2/src/{diff_print.c → libgit2/diff_print.c} +112 -100
- data/vendor/libgit2/src/{diff_stats.c → libgit2/diff_stats.c} +40 -29
- data/vendor/libgit2/src/libgit2/diff_stats.h +18 -0
- data/vendor/libgit2/src/{diff_tform.c → libgit2/diff_tform.c} +13 -8
- data/vendor/libgit2/src/{diff_xdiff.c → libgit2/diff_xdiff.c} +4 -8
- data/vendor/libgit2/src/{email.c → libgit2/email.c} +55 -39
- data/vendor/libgit2/src/{email.h → libgit2/email.h} +1 -1
- data/vendor/libgit2/src/{errors.c → libgit2/errors.c} +18 -18
- data/vendor/libgit2/src/{errors.h → libgit2/errors.h} +1 -2
- data/vendor/libgit2/src/libgit2/experimental.h.in +13 -0
- data/vendor/libgit2/src/{fetch.c → libgit2/fetch.c} +72 -27
- data/vendor/libgit2/src/{fetch.h → libgit2/fetch.h} +1 -1
- data/vendor/libgit2/src/{fetchhead.c → libgit2/fetchhead.c} +23 -23
- data/vendor/libgit2/src/{filter.c → libgit2/filter.c} +127 -53
- data/vendor/libgit2/src/{filter.h → libgit2/filter.h} +26 -5
- data/vendor/libgit2/src/{ident.c → libgit2/ident.c} +20 -20
- data/vendor/libgit2/src/{ignore.c → libgit2/ignore.c} +35 -34
- data/vendor/libgit2/src/{ignore.h → libgit2/ignore.h} +2 -2
- data/vendor/libgit2/src/{index.c → libgit2/index.c} +91 -90
- data/vendor/libgit2/src/{index.h → libgit2/index.h} +6 -3
- data/vendor/libgit2/src/{indexer.c → libgit2/indexer.c} +173 -92
- data/vendor/libgit2/src/{iterator.c → libgit2/iterator.c} +71 -61
- data/vendor/libgit2/src/{iterator.h → libgit2/iterator.h} +5 -5
- data/vendor/libgit2/src/{libgit2.c → libgit2/libgit2.c} +46 -11
- data/vendor/libgit2/src/{mailmap.c → libgit2/mailmap.c} +38 -36
- data/vendor/libgit2/src/{merge.c → libgit2/merge.c} +30 -30
- data/vendor/libgit2/src/{merge.h → libgit2/merge.h} +1 -14
- data/vendor/libgit2/src/{merge_driver.c → libgit2/merge_driver.c} +2 -2
- data/vendor/libgit2/src/{merge_file.c → libgit2/merge_file.c} +13 -3
- data/vendor/libgit2/src/{message.c → libgit2/message.c} +21 -10
- data/vendor/libgit2/src/{midx.c → libgit2/midx.c} +112 -92
- data/vendor/libgit2/src/{midx.h → libgit2/midx.h} +5 -4
- data/vendor/libgit2/src/{mwindow.c → libgit2/mwindow.c} +15 -12
- data/vendor/libgit2/src/{mwindow.h → libgit2/mwindow.h} +5 -2
- data/vendor/libgit2/src/{netops.c → libgit2/netops.c} +1 -2
- data/vendor/libgit2/src/{netops.h → libgit2/netops.h} +1 -1
- data/vendor/libgit2/src/{notes.c → libgit2/notes.c} +25 -34
- data/vendor/libgit2/src/{object.c → libgit2/object.c} +135 -30
- data/vendor/libgit2/src/{object.h → libgit2/object.h} +12 -3
- data/vendor/libgit2/src/{odb.c → libgit2/odb.c} +228 -81
- data/vendor/libgit2/src/{odb.h → libgit2/odb.h} +44 -5
- data/vendor/libgit2/src/{odb_loose.c → libgit2/odb_loose.c} +192 -134
- data/vendor/libgit2/src/{odb_mempack.c → libgit2/odb_mempack.c} +18 -5
- data/vendor/libgit2/src/{odb_pack.c → libgit2/odb_pack.c} +137 -85
- data/vendor/libgit2/src/{oid.c → libgit2/oid.c} +136 -90
- data/vendor/libgit2/src/libgit2/oid.h +273 -0
- data/vendor/libgit2/src/{oidmap.c → libgit2/oidmap.c} +1 -1
- data/vendor/libgit2/src/{pack-objects.c → libgit2/pack-objects.c} +56 -30
- data/vendor/libgit2/src/{pack-objects.h → libgit2/pack-objects.h} +11 -6
- data/vendor/libgit2/src/{pack.c → libgit2/pack.c} +114 -84
- data/vendor/libgit2/src/{pack.h → libgit2/pack.h} +31 -16
- data/vendor/libgit2/src/{parse.c → libgit2/parse.c} +4 -3
- data/vendor/libgit2/src/{patch.c → libgit2/patch.c} +3 -3
- data/vendor/libgit2/src/{patch.h → libgit2/patch.h} +1 -0
- data/vendor/libgit2/src/{patch_generate.c → libgit2/patch_generate.c} +27 -11
- data/vendor/libgit2/src/{patch_generate.h → libgit2/patch_generate.h} +5 -5
- data/vendor/libgit2/src/{patch_parse.c → libgit2/patch_parse.c} +29 -29
- data/vendor/libgit2/src/libgit2/path.c +375 -0
- data/vendor/libgit2/src/libgit2/path.h +68 -0
- data/vendor/libgit2/src/{pathspec.c → libgit2/pathspec.c} +6 -6
- data/vendor/libgit2/src/{pathspec.h → libgit2/pathspec.h} +2 -2
- data/vendor/libgit2/src/{proxy.c → libgit2/proxy.c} +4 -1
- data/vendor/libgit2/src/{proxy.h → libgit2/proxy.h} +1 -1
- data/vendor/libgit2/src/{push.c → libgit2/push.c} +43 -38
- data/vendor/libgit2/src/{push.h → libgit2/push.h} +4 -16
- data/vendor/libgit2/src/{reader.c → libgit2/reader.c} +9 -9
- data/vendor/libgit2/src/{reader.h → libgit2/reader.h} +2 -2
- data/vendor/libgit2/src/{rebase.c → libgit2/rebase.c} +119 -107
- data/vendor/libgit2/src/{refdb_fs.c → libgit2/refdb_fs.c} +506 -197
- data/vendor/libgit2/src/{reflog.c → libgit2/reflog.c} +7 -5
- data/vendor/libgit2/src/{reflog.h → libgit2/reflog.h} +1 -2
- data/vendor/libgit2/src/{refs.c → libgit2/refs.c} +34 -32
- data/vendor/libgit2/src/{refs.h → libgit2/refs.h} +2 -2
- data/vendor/libgit2/src/{refspec.c → libgit2/refspec.c} +32 -37
- data/vendor/libgit2/src/{refspec.h → libgit2/refspec.h} +5 -2
- data/vendor/libgit2/src/{remote.c → libgit2/remote.c} +718 -420
- data/vendor/libgit2/src/libgit2/remote.h +100 -0
- data/vendor/libgit2/src/{repository.c → libgit2/repository.c} +629 -386
- data/vendor/libgit2/src/{repository.h → libgit2/repository.h} +20 -9
- data/vendor/libgit2/src/{reset.c → libgit2/reset.c} +8 -5
- data/vendor/libgit2/src/{revert.c → libgit2/revert.c} +14 -14
- data/vendor/libgit2/src/{revparse.c → libgit2/revparse.c} +71 -42
- data/vendor/libgit2/src/{revwalk.c → libgit2/revwalk.c} +12 -8
- data/vendor/libgit2/src/{signature.c → libgit2/signature.c} +12 -6
- data/vendor/libgit2/src/{signature.h → libgit2/signature.h} +1 -1
- data/vendor/libgit2/src/{stash.c → libgit2/stash.c} +235 -61
- data/vendor/libgit2/src/{status.c → libgit2/status.c} +4 -1
- data/vendor/libgit2/src/{strarray.c → libgit2/strarray.c} +1 -0
- data/vendor/libgit2/src/libgit2/strarray.h +25 -0
- data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.c +8 -6
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.c +1 -1
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.c +7 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_dynamic.h +3 -3
- data/vendor/libgit2/src/{streams → libgit2/streams}/socket.c +4 -1
- data/vendor/libgit2/src/{submodule.c → libgit2/submodule.c} +177 -161
- data/vendor/libgit2/src/{submodule.h → libgit2/submodule.h} +1 -1
- data/vendor/libgit2/src/libgit2/sysdir.c +650 -0
- data/vendor/libgit2/src/{sysdir.h → libgit2/sysdir.h} +53 -18
- data/vendor/libgit2/src/{tag.c → libgit2/tag.c} +73 -42
- data/vendor/libgit2/src/{tag.h → libgit2/tag.h} +2 -2
- data/vendor/libgit2/src/{threadstate.c → libgit2/threadstate.c} +3 -3
- data/vendor/libgit2/src/{threadstate.h → libgit2/threadstate.h} +2 -2
- data/vendor/libgit2/src/{trace.c → libgit2/trace.c} +1 -14
- data/vendor/libgit2/src/{trace.h → libgit2/trace.h} +5 -22
- data/vendor/libgit2/src/{trailer.c → libgit2/trailer.c} +1 -1
- data/vendor/libgit2/src/{transaction.c → libgit2/transaction.c} +1 -1
- data/vendor/libgit2/src/{transport.c → libgit2/transport.c} +10 -10
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.c +7 -9
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth.h +2 -3
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.c +12 -13
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.c +10 -10
- data/vendor/libgit2/src/{transports → libgit2/transports}/auth_ntlm.h +0 -1
- data/vendor/libgit2/src/{transports → libgit2/transports}/git.c +9 -11
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.c +41 -20
- data/vendor/libgit2/src/{transports → libgit2/transports}/http.h +2 -3
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.c +75 -66
- data/vendor/libgit2/src/{transports → libgit2/transports}/httpclient.h +10 -0
- data/vendor/libgit2/src/{transports → libgit2/transports}/local.c +138 -116
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.c +92 -133
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart.h +35 -32
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_pkt.c +177 -65
- data/vendor/libgit2/src/{transports → libgit2/transports}/smart_protocol.c +97 -49
- data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.c +365 -198
- data/vendor/libgit2/src/{transports → libgit2/transports}/winhttp.c +58 -59
- data/vendor/libgit2/src/{tree-cache.c → libgit2/tree-cache.c} +8 -8
- data/vendor/libgit2/src/{tree-cache.h → libgit2/tree-cache.h} +2 -2
- data/vendor/libgit2/src/{tree.c → libgit2/tree.c} +93 -83
- data/vendor/libgit2/src/{tree.h → libgit2/tree.h} +4 -4
- data/vendor/libgit2/src/{worktree.c → libgit2/worktree.c} +121 -94
- data/vendor/libgit2/src/{worktree.h → libgit2/worktree.h} +1 -1
- data/vendor/libgit2/src/libgit2/xdiff/git-xdiff.h +53 -0
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiff.h +15 -15
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.c +134 -108
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.c +23 -7
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xhistogram.c +87 -78
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xinclude.h +1 -12
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmerge.c +104 -117
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xpatience.c +6 -17
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.c +15 -20
- data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.c +18 -7
- data/vendor/libgit2/src/util/CMakeLists.txt +80 -0
- data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.h +1 -1
- data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{array.h → util/array.h} +1 -1
- data/vendor/libgit2/src/{assert_safe.h → util/assert_safe.h} +16 -0
- data/vendor/libgit2/src/{cc-compat.h → util/cc-compat.h} +1 -1
- data/vendor/libgit2/src/{date.c → util/date.c} +14 -20
- data/vendor/libgit2/src/util/date.h +33 -0
- data/vendor/libgit2/src/{filebuf.c → util/filebuf.c} +29 -29
- data/vendor/libgit2/src/{filebuf.h → util/filebuf.h} +2 -2
- data/vendor/libgit2/src/{path.c → util/fs_path.c} +453 -647
- data/vendor/libgit2/src/{path.h → util/fs_path.h} +221 -188
- data/vendor/libgit2/src/{futils.c → util/futils.c} +135 -90
- data/vendor/libgit2/src/{futils.h → util/futils.h} +28 -15
- data/vendor/libgit2/src/{features.h.in → util/git2_features.h.in} +15 -1
- data/vendor/libgit2/src/{common.h → util/git2_util.h} +20 -59
- data/vendor/libgit2/src/util/hash/builtin.c +53 -0
- data/vendor/libgit2/src/{hash/sha1/openssl.h → util/hash/builtin.h} +6 -6
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.c +3 -3
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/collisiondetect.h +3 -3
- data/vendor/libgit2/src/util/hash/common_crypto.c +112 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/common_crypto.h +11 -3
- data/vendor/libgit2/src/util/hash/mbedtls.c +92 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/mbedtls.h +14 -4
- data/vendor/libgit2/src/util/hash/openssl.c +195 -0
- data/vendor/libgit2/src/util/hash/openssl.h +45 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha.h +243 -0
- data/vendor/libgit2/src/util/hash/rfc6234/sha224-256.c +601 -0
- data/vendor/libgit2/src/util/hash/sha.h +70 -0
- data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.c +1 -1
- data/vendor/libgit2/src/util/hash/win32.c +549 -0
- data/vendor/libgit2/src/util/hash/win32.h +60 -0
- data/vendor/libgit2/src/util/hash.c +158 -0
- data/vendor/libgit2/src/util/hash.h +61 -0
- data/vendor/libgit2/src/{khash.h → util/khash.h} +1 -1
- data/vendor/libgit2/src/{map.h → util/map.h} +1 -1
- data/vendor/libgit2/src/util/net.c +1003 -0
- data/vendor/libgit2/src/{net.h → util/net.h} +18 -4
- data/vendor/libgit2/src/{pool.h → util/pool.h} +1 -1
- data/vendor/libgit2/src/{posix.c → util/posix.c} +3 -3
- data/vendor/libgit2/src/{posix.h → util/posix.h} +4 -1
- data/vendor/libgit2/src/{pqueue.h → util/pqueue.h} +2 -2
- data/vendor/libgit2/src/util/rand.c +234 -0
- data/vendor/libgit2/src/util/rand.h +37 -0
- data/vendor/libgit2/src/{regexp.c → util/regexp.c} +4 -4
- data/vendor/libgit2/src/{regexp.h → util/regexp.h} +1 -1
- data/vendor/libgit2/src/{runtime.c → util/runtime.c} +1 -1
- data/vendor/libgit2/src/{runtime.h → util/runtime.h} +1 -1
- data/vendor/libgit2/src/{sortedcache.c → util/sortedcache.c} +1 -1
- data/vendor/libgit2/src/{sortedcache.h → util/sortedcache.h} +2 -2
- data/vendor/libgit2/src/{buffer.c → util/str.c} +157 -151
- data/vendor/libgit2/src/util/str.h +357 -0
- data/vendor/libgit2/src/{strmap.h → util/strmap.h} +1 -1
- data/vendor/libgit2/src/{thread.c → util/thread.c} +1 -1
- data/vendor/libgit2/src/{thread.h → util/thread.h} +23 -22
- data/vendor/libgit2/src/{tsort.c → util/tsort.c} +1 -1
- data/vendor/libgit2/src/{unix → util/unix}/map.c +1 -3
- data/vendor/libgit2/src/{unix → util/unix}/posix.h +1 -4
- data/vendor/libgit2/src/{unix → util/unix}/realpath.c +1 -3
- data/vendor/libgit2/src/{utf8.c → util/utf8.c} +1 -1
- data/vendor/libgit2/src/{utf8.h → util/utf8.h} +1 -1
- data/vendor/libgit2/src/{util.c → util/util.c} +15 -15
- data/vendor/libgit2/src/{util.h → util/util.h} +4 -29
- data/vendor/libgit2/src/{varint.h → util/varint.h} +1 -1
- data/vendor/libgit2/src/{vector.h → util/vector.h} +2 -2
- data/vendor/libgit2/src/{wildmatch.h → util/wildmatch.h} +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/dir.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/error.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/map.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.c +140 -9
- data/vendor/libgit2/src/{win32 → util/win32}/path_w32.h +3 -1
- data/vendor/libgit2/src/{win32 → util/win32}/posix.h +1 -2
- data/vendor/libgit2/src/{win32 → util/win32}/posix_w32.c +12 -28
- data/vendor/libgit2/src/util/win32/precompiled.c +1 -0
- data/vendor/libgit2/src/{win32 → util/win32}/precompiled.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/thread.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.c +2 -3
- data/vendor/libgit2/src/{win32 → util/win32}/w32_buffer.h +3 -4
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.c +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_leakcheck.h +1 -1
- data/vendor/libgit2/src/{win32 → util/win32}/w32_util.h +1 -1
- data/vendor/libgit2/src/{zstream.c → util/zstream.c} +5 -5
- data/vendor/libgit2/src/{zstream.h → util/zstream.h} +5 -5
- metadata +402 -356
- data/vendor/libgit2/src/buffer.h +0 -374
- data/vendor/libgit2/src/commit.h +0 -46
- data/vendor/libgit2/src/hash/sha1/common_crypto.c +0 -57
- data/vendor/libgit2/src/hash/sha1/generic.c +0 -300
- data/vendor/libgit2/src/hash/sha1/generic.h +0 -19
- data/vendor/libgit2/src/hash/sha1/mbedtls.c +0 -46
- data/vendor/libgit2/src/hash/sha1/openssl.c +0 -59
- data/vendor/libgit2/src/hash/sha1/win32.c +0 -333
- data/vendor/libgit2/src/hash/sha1/win32.h +0 -128
- data/vendor/libgit2/src/hash/sha1.h +0 -38
- data/vendor/libgit2/src/hash.c +0 -110
- data/vendor/libgit2/src/hash.h +0 -46
- data/vendor/libgit2/src/message.h +0 -17
- data/vendor/libgit2/src/net.c +0 -540
- data/vendor/libgit2/src/oid.h +0 -51
- data/vendor/libgit2/src/remote.h +0 -55
- data/vendor/libgit2/src/sysdir.c +0 -347
- data/vendor/libgit2/src/win32/findfile.c +0 -230
- data/vendor/libgit2/src/win32/findfile.h +0 -19
- /data/vendor/libgit2/src/{win32 → cli/win32}/precompiled.c +0 -0
- /data/vendor/libgit2/src/{attr.h → libgit2/attr.h} +0 -0
- /data/vendor/libgit2/src/{attrcache.h → libgit2/attrcache.h} +0 -0
- /data/vendor/libgit2/src/{blame.h → libgit2/blame.h} +0 -0
- /data/vendor/libgit2/src/{blame_git.h → libgit2/blame_git.h} +0 -0
- /data/vendor/libgit2/src/{cache.c → libgit2/cache.c} +0 -0
- /data/vendor/libgit2/src/{cache.h → libgit2/cache.h} +0 -0
- /data/vendor/libgit2/src/{checkout.h → libgit2/checkout.h} +0 -0
- /data/vendor/libgit2/src/{clone.h → libgit2/clone.h} +0 -0
- /data/vendor/libgit2/src/{commit_list.h → libgit2/commit_list.h} +0 -0
- /data/vendor/libgit2/src/{config_backend.h → libgit2/config_backend.h} +0 -0
- /data/vendor/libgit2/src/{config_cache.c → libgit2/config_cache.c} +0 -0
- /data/vendor/libgit2/src/{config_entries.c → libgit2/config_entries.c} +0 -0
- /data/vendor/libgit2/src/{config_entries.h → libgit2/config_entries.h} +0 -0
- /data/vendor/libgit2/src/{config_parse.h → libgit2/config_parse.h} +0 -0
- /data/vendor/libgit2/src/{config_snapshot.c → libgit2/config_snapshot.c} +0 -0
- /data/vendor/libgit2/src/{delta.c → libgit2/delta.c} +0 -0
- /data/vendor/libgit2/src/{delta.h → libgit2/delta.h} +0 -0
- /data/vendor/libgit2/src/{diff_file.h → libgit2/diff_file.h} +0 -0
- /data/vendor/libgit2/src/{diff_parse.c → libgit2/diff_parse.c} +0 -0
- /data/vendor/libgit2/src/{diff_parse.h → libgit2/diff_parse.h} +0 -0
- /data/vendor/libgit2/src/{diff_tform.h → libgit2/diff_tform.h} +0 -0
- /data/vendor/libgit2/src/{diff_xdiff.h → libgit2/diff_xdiff.h} +0 -0
- /data/vendor/libgit2/src/{fetchhead.h → libgit2/fetchhead.h} +0 -0
- /data/vendor/libgit2/src/{win32 → libgit2}/git2.rc +0 -0
- /data/vendor/libgit2/src/{graph.c → libgit2/graph.c} +0 -0
- /data/vendor/libgit2/src/{hashsig.c → libgit2/hashsig.c} +0 -0
- /data/vendor/libgit2/src/{idxmap.c → libgit2/idxmap.c} +0 -0
- /data/vendor/libgit2/src/{idxmap.h → libgit2/idxmap.h} +0 -0
- /data/vendor/libgit2/src/{indexer.h → libgit2/indexer.h} +0 -0
- /data/vendor/libgit2/src/{libgit2.h → libgit2/libgit2.h} +0 -0
- /data/vendor/libgit2/src/{mailmap.h → libgit2/mailmap.h} +0 -0
- /data/vendor/libgit2/src/{merge_driver.h → libgit2/merge_driver.h} +0 -0
- /data/vendor/libgit2/src/{notes.h → libgit2/notes.h} +0 -0
- /data/vendor/libgit2/src/{object_api.c → libgit2/object_api.c} +0 -0
- /data/vendor/libgit2/src/{offmap.c → libgit2/offmap.c} +0 -0
- /data/vendor/libgit2/src/{offmap.h → libgit2/offmap.h} +0 -0
- /data/vendor/libgit2/src/{oidarray.c → libgit2/oidarray.c} +0 -0
- /data/vendor/libgit2/src/{oidarray.h → libgit2/oidarray.h} +0 -0
- /data/vendor/libgit2/src/{oidmap.h → libgit2/oidmap.h} +0 -0
- /data/vendor/libgit2/src/{parse.h → libgit2/parse.h} +0 -0
- /data/vendor/libgit2/src/{patch_parse.h → libgit2/patch_parse.h} +0 -0
- /data/vendor/libgit2/src/{refdb.c → libgit2/refdb.c} +0 -0
- /data/vendor/libgit2/src/{refdb.h → libgit2/refdb.h} +0 -0
- /data/vendor/libgit2/src/{repo_template.h → libgit2/repo_template.h} +0 -0
- /data/vendor/libgit2/src/{revwalk.h → libgit2/revwalk.h} +0 -0
- /data/vendor/libgit2/src/{settings.h → libgit2/settings.h} +0 -0
- /data/vendor/libgit2/src/{status.h → libgit2/status.h} +0 -0
- /data/vendor/libgit2/src/{stream.h → libgit2/stream.h} +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/mbedtls.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/openssl_legacy.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/registry.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/socket.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/stransport.h +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.c +0 -0
- /data/vendor/libgit2/src/{streams → libgit2/streams}/tls.h +0 -0
- /data/vendor/libgit2/src/{transaction.h → libgit2/transaction.h} +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/auth_negotiate.h +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential.c +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/credential_helpers.c +0 -0
- /data/vendor/libgit2/src/{transports → libgit2/transports}/ssh.h +0 -0
- /data/vendor/libgit2/src/{userdiff.h → libgit2/userdiff.h} +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xdiffi.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xemit.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xmacros.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xprepare.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xtypes.h +0 -0
- /data/vendor/libgit2/src/{xdiff → libgit2/xdiff}/xutils.h +0 -0
- /data/vendor/libgit2/src/{alloc.c → util/alloc.c} +0 -0
- /data/vendor/libgit2/src/{alloc.h → util/alloc.h} +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/failalloc.c +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/stdalloc.c +0 -0
- /data/vendor/libgit2/src/{allocators → util/allocators}/win32_leakcheck.c +0 -0
- /data/vendor/libgit2/src/{bitvec.h → util/bitvec.h} +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/sha1.h +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.c +0 -0
- /data/vendor/libgit2/src/{hash/sha1 → util/hash}/sha1dc/ubc_check.h +0 -0
- /data/vendor/libgit2/src/{integer.h → util/integer.h} +0 -0
- /data/vendor/libgit2/src/{pool.c → util/pool.c} +0 -0
- /data/vendor/libgit2/src/{pqueue.c → util/pqueue.c} +0 -0
- /data/vendor/libgit2/src/{strmap.c → util/strmap.c} +0 -0
- /data/vendor/libgit2/src/{strnlen.h → util/strnlen.h} +0 -0
- /data/vendor/libgit2/src/{unix → util/unix}/pthread.h +0 -0
- /data/vendor/libgit2/src/{varint.c → util/varint.c} +0 -0
- /data/vendor/libgit2/src/{vector.c → util/vector.c} +0 -0
- /data/vendor/libgit2/src/{wildmatch.c → util/wildmatch.c} +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/dir.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/error.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/mingw-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/msvc-compat.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/reparse.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/thread.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/utf-conv.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/version.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/w32_common.h +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/w32_util.c +0 -0
- /data/vendor/libgit2/src/{win32 → util/win32}/win32-compat.h +0 -0
|
@@ -71,7 +71,11 @@ int git_reflog_write(git_reflog *reflog)
|
|
|
71
71
|
return db->backend->reflog_write(db->backend, reflog);
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
int git_reflog_append(
|
|
74
|
+
int git_reflog_append(
|
|
75
|
+
git_reflog *reflog,
|
|
76
|
+
const git_oid *new_oid,
|
|
77
|
+
const git_signature *committer,
|
|
78
|
+
const char *msg)
|
|
75
79
|
{
|
|
76
80
|
const git_reflog_entry *previous;
|
|
77
81
|
git_reflog_entry *entry;
|
|
@@ -104,7 +108,7 @@ int git_reflog_append(git_reflog *reflog, const git_oid *new_oid, const git_sign
|
|
|
104
108
|
previous = git_reflog_entry_byindex(reflog, 0);
|
|
105
109
|
|
|
106
110
|
if (previous == NULL)
|
|
107
|
-
|
|
111
|
+
git_oid_clear(&entry->oid_old, reflog->oid_type);
|
|
108
112
|
else
|
|
109
113
|
git_oid_cpy(&entry->oid_old, &previous->oid_cur);
|
|
110
114
|
|
|
@@ -219,9 +223,7 @@ int git_reflog_drop(git_reflog *reflog, size_t idx, int rewrite_previous_entry)
|
|
|
219
223
|
/* If the oldest entry has just been removed... */
|
|
220
224
|
if (idx == entrycount - 1) {
|
|
221
225
|
/* ...clear the oid_old member of the "new" oldest entry */
|
|
222
|
-
|
|
223
|
-
return -1;
|
|
224
|
-
|
|
226
|
+
git_oid_clear(&entry->oid_old, reflog->oid_type);
|
|
225
227
|
return 0;
|
|
226
228
|
}
|
|
227
229
|
|
|
@@ -16,8 +16,6 @@
|
|
|
16
16
|
#define GIT_REFLOG_DIR_MODE 0777
|
|
17
17
|
#define GIT_REFLOG_FILE_MODE 0666
|
|
18
18
|
|
|
19
|
-
#define GIT_REFLOG_SIZE_MIN (2*GIT_OID_HEXSZ+2+17)
|
|
20
|
-
|
|
21
19
|
struct git_reflog_entry {
|
|
22
20
|
git_oid oid_old;
|
|
23
21
|
git_oid oid_cur;
|
|
@@ -30,6 +28,7 @@ struct git_reflog_entry {
|
|
|
30
28
|
struct git_reflog {
|
|
31
29
|
git_refdb *db;
|
|
32
30
|
char *ref_name;
|
|
31
|
+
git_oid_t oid_type;
|
|
33
32
|
git_vector entries;
|
|
34
33
|
};
|
|
35
34
|
|
|
@@ -86,6 +86,8 @@ git_reference *git_reference__alloc(
|
|
|
86
86
|
|
|
87
87
|
if (peel != NULL)
|
|
88
88
|
git_oid_cpy(&ref->peel, peel);
|
|
89
|
+
else
|
|
90
|
+
git_oid_clear(&ref->peel, GIT_OID_SHA1);
|
|
89
91
|
|
|
90
92
|
return ref;
|
|
91
93
|
}
|
|
@@ -247,7 +249,7 @@ int git_reference_dwim(git_reference **out, git_repository *repo, const char *re
|
|
|
247
249
|
int error = 0, i, valid;
|
|
248
250
|
bool fallbackmode = true, foundvalid = false;
|
|
249
251
|
git_reference *ref;
|
|
250
|
-
|
|
252
|
+
git_str refnamebuf = GIT_STR_INIT, name = GIT_STR_INIT;
|
|
251
253
|
|
|
252
254
|
static const char *formatters[] = {
|
|
253
255
|
"%s",
|
|
@@ -260,18 +262,18 @@ int git_reference_dwim(git_reference **out, git_repository *repo, const char *re
|
|
|
260
262
|
};
|
|
261
263
|
|
|
262
264
|
if (*refname)
|
|
263
|
-
|
|
265
|
+
git_str_puts(&name, refname);
|
|
264
266
|
else {
|
|
265
|
-
|
|
267
|
+
git_str_puts(&name, GIT_HEAD_FILE);
|
|
266
268
|
fallbackmode = false;
|
|
267
269
|
}
|
|
268
270
|
|
|
269
271
|
for (i = 0; formatters[i] && (fallbackmode || i == 0); i++) {
|
|
270
272
|
|
|
271
|
-
|
|
273
|
+
git_str_clear(&refnamebuf);
|
|
272
274
|
|
|
273
|
-
if ((error =
|
|
274
|
-
(error = git_reference_name_is_valid(&valid,
|
|
275
|
+
if ((error = git_str_printf(&refnamebuf, formatters[i], git_str_cstr(&name))) < 0 ||
|
|
276
|
+
(error = git_reference_name_is_valid(&valid, git_str_cstr(&refnamebuf))) < 0)
|
|
275
277
|
goto cleanup;
|
|
276
278
|
|
|
277
279
|
if (!valid) {
|
|
@@ -280,7 +282,7 @@ int git_reference_dwim(git_reference **out, git_repository *repo, const char *re
|
|
|
280
282
|
}
|
|
281
283
|
foundvalid = true;
|
|
282
284
|
|
|
283
|
-
error = git_reference_lookup_resolved(&ref, repo,
|
|
285
|
+
error = git_reference_lookup_resolved(&ref, repo, git_str_cstr(&refnamebuf), -1);
|
|
284
286
|
|
|
285
287
|
if (!error) {
|
|
286
288
|
*out = ref;
|
|
@@ -296,14 +298,14 @@ cleanup:
|
|
|
296
298
|
if (error && !foundvalid) {
|
|
297
299
|
/* never found a valid reference name */
|
|
298
300
|
git_error_set(GIT_ERROR_REFERENCE,
|
|
299
|
-
"could not use '%s' as valid reference name",
|
|
301
|
+
"could not use '%s' as valid reference name", git_str_cstr(&name));
|
|
300
302
|
}
|
|
301
303
|
|
|
302
304
|
if (error == GIT_ENOTFOUND)
|
|
303
305
|
git_error_set(GIT_ERROR_REFERENCE, "no reference found for shorthand '%s'", refname);
|
|
304
306
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
+
git_str_dispose(&name);
|
|
308
|
+
git_str_dispose(&refnamebuf);
|
|
307
309
|
return error;
|
|
308
310
|
}
|
|
309
311
|
|
|
@@ -891,7 +893,7 @@ static bool is_all_caps_and_underscore(const char *name, size_t len)
|
|
|
891
893
|
|
|
892
894
|
/* Inspired from https://github.com/git/git/blob/f06d47e7e0d9db709ee204ed13a8a7486149f494/refs.c#L36-100 */
|
|
893
895
|
int git_reference__normalize_name(
|
|
894
|
-
|
|
896
|
+
git_str *buf,
|
|
895
897
|
const char *name,
|
|
896
898
|
unsigned int flags)
|
|
897
899
|
{
|
|
@@ -902,7 +904,7 @@ int git_reference__normalize_name(
|
|
|
902
904
|
bool validate = (flags & GIT_REFERENCE_FORMAT__VALIDATION_DISABLE) == 0;
|
|
903
905
|
|
|
904
906
|
#ifdef GIT_USE_ICONV
|
|
905
|
-
|
|
907
|
+
git_fs_path_iconv_t ic = GIT_PATH_ICONV_INIT;
|
|
906
908
|
#endif
|
|
907
909
|
|
|
908
910
|
GIT_ASSERT_ARG(name);
|
|
@@ -914,22 +916,22 @@ int git_reference__normalize_name(
|
|
|
914
916
|
goto cleanup;
|
|
915
917
|
|
|
916
918
|
if (normalize)
|
|
917
|
-
|
|
919
|
+
git_str_clear(buf);
|
|
918
920
|
|
|
919
921
|
#ifdef GIT_USE_ICONV
|
|
920
922
|
if ((flags & GIT_REFERENCE_FORMAT__PRECOMPOSE_UNICODE) != 0) {
|
|
921
923
|
size_t namelen = strlen(current);
|
|
922
|
-
if ((error =
|
|
923
|
-
(error =
|
|
924
|
+
if ((error = git_fs_path_iconv_init_precompose(&ic)) < 0 ||
|
|
925
|
+
(error = git_fs_path_iconv(&ic, ¤t, &namelen)) < 0)
|
|
924
926
|
goto cleanup;
|
|
925
927
|
error = GIT_EINVALIDSPEC;
|
|
926
928
|
}
|
|
927
929
|
#endif
|
|
928
930
|
|
|
929
931
|
if (!validate) {
|
|
930
|
-
|
|
932
|
+
git_str_sets(buf, current);
|
|
931
933
|
|
|
932
|
-
error =
|
|
934
|
+
error = git_str_oom(buf) ? -1 : 0;
|
|
933
935
|
goto cleanup;
|
|
934
936
|
}
|
|
935
937
|
|
|
@@ -949,13 +951,13 @@ int git_reference__normalize_name(
|
|
|
949
951
|
process_flags &= ~GIT_REFERENCE_FORMAT_REFSPEC_PATTERN;
|
|
950
952
|
|
|
951
953
|
if (normalize) {
|
|
952
|
-
size_t cur_len =
|
|
954
|
+
size_t cur_len = git_str_len(buf);
|
|
953
955
|
|
|
954
|
-
|
|
955
|
-
|
|
956
|
+
git_str_joinpath(buf, git_str_cstr(buf), current);
|
|
957
|
+
git_str_truncate(buf,
|
|
956
958
|
cur_len + segment_len + (segments_count ? 1 : 0));
|
|
957
959
|
|
|
958
|
-
if (
|
|
960
|
+
if (git_str_oom(buf)) {
|
|
959
961
|
error = -1;
|
|
960
962
|
goto cleanup;
|
|
961
963
|
}
|
|
@@ -1008,10 +1010,10 @@ cleanup:
|
|
|
1008
1010
|
"the given reference name '%s' is not valid", name);
|
|
1009
1011
|
|
|
1010
1012
|
if (error && normalize)
|
|
1011
|
-
|
|
1013
|
+
git_str_dispose(buf);
|
|
1012
1014
|
|
|
1013
1015
|
#ifdef GIT_USE_ICONV
|
|
1014
|
-
|
|
1016
|
+
git_fs_path_iconv_clear(&ic);
|
|
1015
1017
|
#endif
|
|
1016
1018
|
|
|
1017
1019
|
return error;
|
|
@@ -1023,13 +1025,13 @@ int git_reference_normalize_name(
|
|
|
1023
1025
|
const char *name,
|
|
1024
1026
|
unsigned int flags)
|
|
1025
1027
|
{
|
|
1026
|
-
|
|
1028
|
+
git_str buf = GIT_STR_INIT;
|
|
1027
1029
|
int error;
|
|
1028
1030
|
|
|
1029
1031
|
if ((error = git_reference__normalize_name(&buf, name, flags)) < 0)
|
|
1030
1032
|
goto cleanup;
|
|
1031
1033
|
|
|
1032
|
-
if (
|
|
1034
|
+
if (git_str_len(&buf) > buffer_size - 1) {
|
|
1033
1035
|
git_error_set(
|
|
1034
1036
|
GIT_ERROR_REFERENCE,
|
|
1035
1037
|
"the provided buffer is too short to hold the normalization of '%s'", name);
|
|
@@ -1037,13 +1039,13 @@ int git_reference_normalize_name(
|
|
|
1037
1039
|
goto cleanup;
|
|
1038
1040
|
}
|
|
1039
1041
|
|
|
1040
|
-
if ((error =
|
|
1042
|
+
if ((error = git_str_copy_cstr(buffer_out, buffer_size, &buf)) < 0)
|
|
1041
1043
|
goto cleanup;
|
|
1042
1044
|
|
|
1043
1045
|
error = 0;
|
|
1044
1046
|
|
|
1045
1047
|
cleanup:
|
|
1046
|
-
|
|
1048
|
+
git_str_dispose(&buf);
|
|
1047
1049
|
return error;
|
|
1048
1050
|
}
|
|
1049
1051
|
|
|
@@ -1143,12 +1145,12 @@ int git_reference__update_for_commit(
|
|
|
1143
1145
|
{
|
|
1144
1146
|
git_reference *ref_new = NULL;
|
|
1145
1147
|
git_commit *commit = NULL;
|
|
1146
|
-
|
|
1148
|
+
git_str reflog_msg = GIT_STR_INIT;
|
|
1147
1149
|
const git_signature *who;
|
|
1148
1150
|
int error;
|
|
1149
1151
|
|
|
1150
1152
|
if ((error = git_commit_lookup(&commit, repo, id)) < 0 ||
|
|
1151
|
-
(error =
|
|
1153
|
+
(error = git_str_printf(&reflog_msg, "%s%s: %s",
|
|
1152
1154
|
operation ? operation : "commit",
|
|
1153
1155
|
commit_type(commit),
|
|
1154
1156
|
git_commit_summary(commit))) < 0)
|
|
@@ -1161,15 +1163,15 @@ int git_reference__update_for_commit(
|
|
|
1161
1163
|
return error;
|
|
1162
1164
|
|
|
1163
1165
|
error = reference__create(&ref_new, repo, ref->name, id, NULL, 1, who,
|
|
1164
|
-
|
|
1166
|
+
git_str_cstr(&reflog_msg), &ref->target.oid, NULL);
|
|
1165
1167
|
}
|
|
1166
1168
|
else
|
|
1167
1169
|
error = git_reference__update_terminal(
|
|
1168
|
-
repo, ref_name, id, who,
|
|
1170
|
+
repo, ref_name, id, who, git_str_cstr(&reflog_msg));
|
|
1169
1171
|
|
|
1170
1172
|
done:
|
|
1171
1173
|
git_reference_free(ref_new);
|
|
1172
|
-
|
|
1174
|
+
git_str_dispose(&reflog_msg);
|
|
1173
1175
|
git_commit_free(commit);
|
|
1174
1176
|
return error;
|
|
1175
1177
|
}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
#include "git2/refs.h"
|
|
14
14
|
#include "git2/refdb.h"
|
|
15
15
|
#include "strmap.h"
|
|
16
|
-
#include "
|
|
16
|
+
#include "str.h"
|
|
17
17
|
#include "oid.h"
|
|
18
18
|
|
|
19
19
|
extern bool git_reference__enable_symbolic_ref_target_validation;
|
|
@@ -83,7 +83,7 @@ struct git_reference {
|
|
|
83
83
|
*/
|
|
84
84
|
git_reference *git_reference__realloc(git_reference **ptr_to_ref, const char *name);
|
|
85
85
|
|
|
86
|
-
int git_reference__normalize_name(
|
|
86
|
+
int git_reference__normalize_name(git_str *buf, const char *name, unsigned int flags);
|
|
87
87
|
int git_reference__update_terminal(git_repository *repo, const char *ref_name, const git_oid *oid, const git_signature *sig, const char *log_message);
|
|
88
88
|
int git_reference__name_is_valid(int *valid, const char *name, unsigned int flags);
|
|
89
89
|
int git_reference__is_branch(const char *ref_name);
|
|
@@ -7,8 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include "refspec.h"
|
|
9
9
|
|
|
10
|
-
#include "
|
|
11
|
-
|
|
10
|
+
#include "buf.h"
|
|
12
11
|
#include "refs.h"
|
|
13
12
|
#include "util.h"
|
|
14
13
|
#include "vector.h"
|
|
@@ -243,16 +242,12 @@ int git_refspec_dst_matches(const git_refspec *refspec, const char *refname)
|
|
|
243
242
|
}
|
|
244
243
|
|
|
245
244
|
static int refspec_transform(
|
|
246
|
-
|
|
245
|
+
git_str *out, const char *from, const char *to, const char *name)
|
|
247
246
|
{
|
|
248
247
|
const char *from_star, *to_star;
|
|
249
248
|
size_t replacement_len, star_offset;
|
|
250
|
-
int error;
|
|
251
|
-
|
|
252
|
-
if ((error = git_buf_sanitize(out)) < 0)
|
|
253
|
-
return error;
|
|
254
249
|
|
|
255
|
-
|
|
250
|
+
git_str_clear(out);
|
|
256
251
|
|
|
257
252
|
/*
|
|
258
253
|
* There are two parts to each side of a refspec, the bit
|
|
@@ -269,72 +264,72 @@ static int refspec_transform(
|
|
|
269
264
|
star_offset = from_star - from;
|
|
270
265
|
|
|
271
266
|
/* the first half is copied over */
|
|
272
|
-
|
|
267
|
+
git_str_put(out, to, to_star - to);
|
|
273
268
|
|
|
274
269
|
/*
|
|
275
270
|
* Copy over the name, but exclude the trailing part in "from" starting
|
|
276
271
|
* after the glob
|
|
277
272
|
*/
|
|
278
273
|
replacement_len = strlen(name + star_offset) - strlen(from_star + 1);
|
|
279
|
-
|
|
274
|
+
git_str_put(out, name + star_offset, replacement_len);
|
|
280
275
|
|
|
281
|
-
return
|
|
276
|
+
return git_str_puts(out, to_star + 1);
|
|
282
277
|
}
|
|
283
278
|
|
|
284
279
|
int git_refspec_transform(git_buf *out, const git_refspec *spec, const char *name)
|
|
285
280
|
{
|
|
286
|
-
|
|
281
|
+
GIT_BUF_WRAP_PRIVATE(out, git_refspec__transform, spec, name);
|
|
282
|
+
}
|
|
287
283
|
|
|
284
|
+
int git_refspec__transform(git_str *out, const git_refspec *spec, const char *name)
|
|
285
|
+
{
|
|
288
286
|
GIT_ASSERT_ARG(out);
|
|
289
287
|
GIT_ASSERT_ARG(spec);
|
|
290
288
|
GIT_ASSERT_ARG(name);
|
|
291
289
|
|
|
292
|
-
if ((error = git_buf_sanitize(out)) < 0)
|
|
293
|
-
return error;
|
|
294
|
-
|
|
295
290
|
if (!git_refspec_src_matches(spec, name)) {
|
|
296
291
|
git_error_set(GIT_ERROR_INVALID, "ref '%s' doesn't match the source", name);
|
|
297
292
|
return -1;
|
|
298
293
|
}
|
|
299
294
|
|
|
300
295
|
if (!spec->pattern)
|
|
301
|
-
return
|
|
296
|
+
return git_str_puts(out, spec->dst ? spec->dst : "");
|
|
302
297
|
|
|
303
298
|
return refspec_transform(out, spec->src, spec->dst, name);
|
|
304
299
|
}
|
|
305
300
|
|
|
306
301
|
int git_refspec_rtransform(git_buf *out, const git_refspec *spec, const char *name)
|
|
307
302
|
{
|
|
308
|
-
|
|
303
|
+
GIT_BUF_WRAP_PRIVATE(out, git_refspec__rtransform, spec, name);
|
|
304
|
+
}
|
|
309
305
|
|
|
306
|
+
int git_refspec__rtransform(git_str *out, const git_refspec *spec, const char *name)
|
|
307
|
+
{
|
|
310
308
|
GIT_ASSERT_ARG(out);
|
|
311
309
|
GIT_ASSERT_ARG(spec);
|
|
312
310
|
GIT_ASSERT_ARG(name);
|
|
313
311
|
|
|
314
|
-
if ((error = git_buf_sanitize(out)) < 0)
|
|
315
|
-
return error;
|
|
316
|
-
|
|
317
312
|
if (!git_refspec_dst_matches(spec, name)) {
|
|
318
313
|
git_error_set(GIT_ERROR_INVALID, "ref '%s' doesn't match the destination", name);
|
|
319
314
|
return -1;
|
|
320
315
|
}
|
|
321
316
|
|
|
322
317
|
if (!spec->pattern)
|
|
323
|
-
return
|
|
318
|
+
return git_str_puts(out, spec->src);
|
|
324
319
|
|
|
325
320
|
return refspec_transform(out, spec->dst, spec->src, name);
|
|
326
321
|
}
|
|
327
322
|
|
|
328
|
-
int git_refspec__serialize(
|
|
323
|
+
int git_refspec__serialize(git_str *out, const git_refspec *refspec)
|
|
329
324
|
{
|
|
330
325
|
if (refspec->force)
|
|
331
|
-
|
|
326
|
+
git_str_putc(out, '+');
|
|
332
327
|
|
|
333
|
-
|
|
328
|
+
git_str_printf(out, "%s:%s",
|
|
334
329
|
refspec->src != NULL ? refspec->src : "",
|
|
335
330
|
refspec->dst != NULL ? refspec->dst : "");
|
|
336
331
|
|
|
337
|
-
return
|
|
332
|
+
return git_str_oom(out) == false;
|
|
338
333
|
}
|
|
339
334
|
|
|
340
335
|
int git_refspec_is_wildcard(const git_refspec *spec)
|
|
@@ -354,7 +349,7 @@ git_direction git_refspec_direction(const git_refspec *spec)
|
|
|
354
349
|
|
|
355
350
|
int git_refspec__dwim_one(git_vector *out, git_refspec *spec, git_vector *refs)
|
|
356
351
|
{
|
|
357
|
-
|
|
352
|
+
git_str buf = GIT_STR_INIT;
|
|
358
353
|
size_t j, pos;
|
|
359
354
|
git_remote_head key;
|
|
360
355
|
git_refspec *cur;
|
|
@@ -382,14 +377,14 @@ int git_refspec__dwim_one(git_vector *out, git_refspec *spec, git_vector *refs)
|
|
|
382
377
|
/* shorthand on the lhs */
|
|
383
378
|
if (git__prefixcmp(spec->src, GIT_REFS_DIR)) {
|
|
384
379
|
for (j = 0; formatters[j]; j++) {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
380
|
+
git_str_clear(&buf);
|
|
381
|
+
git_str_printf(&buf, formatters[j], spec->src);
|
|
382
|
+
GIT_ERROR_CHECK_ALLOC_STR(&buf);
|
|
388
383
|
|
|
389
|
-
key.name = (char *)
|
|
384
|
+
key.name = (char *) git_str_cstr(&buf);
|
|
390
385
|
if (!git_vector_search(&pos, refs, &key)) {
|
|
391
386
|
/* we found something to match the shorthand, set src to that */
|
|
392
|
-
cur->src =
|
|
387
|
+
cur->src = git_str_detach(&buf);
|
|
393
388
|
}
|
|
394
389
|
}
|
|
395
390
|
}
|
|
@@ -403,18 +398,18 @@ int git_refspec__dwim_one(git_vector *out, git_refspec *spec, git_vector *refs)
|
|
|
403
398
|
if (spec->dst && git__prefixcmp(spec->dst, GIT_REFS_DIR)) {
|
|
404
399
|
/* if it starts with "remotes" then we just prepend "refs/" */
|
|
405
400
|
if (!git__prefixcmp(spec->dst, "remotes/")) {
|
|
406
|
-
|
|
401
|
+
git_str_puts(&buf, GIT_REFS_DIR);
|
|
407
402
|
} else {
|
|
408
|
-
|
|
403
|
+
git_str_puts(&buf, GIT_REFS_HEADS_DIR);
|
|
409
404
|
}
|
|
410
405
|
|
|
411
|
-
|
|
412
|
-
|
|
406
|
+
git_str_puts(&buf, spec->dst);
|
|
407
|
+
GIT_ERROR_CHECK_ALLOC_STR(&buf);
|
|
413
408
|
|
|
414
|
-
cur->dst =
|
|
409
|
+
cur->dst = git_str_detach(&buf);
|
|
415
410
|
}
|
|
416
411
|
|
|
417
|
-
|
|
412
|
+
git_str_dispose(&buf);
|
|
418
413
|
|
|
419
414
|
if (cur->dst == NULL && spec->dst != NULL) {
|
|
420
415
|
cur->dst = git__strdup(spec->dst);
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
#include "common.h"
|
|
11
11
|
|
|
12
12
|
#include "git2/refspec.h"
|
|
13
|
-
#include "
|
|
13
|
+
#include "str.h"
|
|
14
14
|
#include "vector.h"
|
|
15
15
|
|
|
16
16
|
struct git_refspec {
|
|
@@ -25,6 +25,9 @@ struct git_refspec {
|
|
|
25
25
|
|
|
26
26
|
#define GIT_REFSPEC_TAGS "refs/tags/*:refs/tags/*"
|
|
27
27
|
|
|
28
|
+
int git_refspec__transform(git_str *out, const git_refspec *spec, const char *name);
|
|
29
|
+
int git_refspec__rtransform(git_str *out, const git_refspec *spec, const char *name);
|
|
30
|
+
|
|
28
31
|
int git_refspec__parse(
|
|
29
32
|
struct git_refspec *refspec,
|
|
30
33
|
const char *str,
|
|
@@ -32,7 +35,7 @@ int git_refspec__parse(
|
|
|
32
35
|
|
|
33
36
|
void git_refspec__dispose(git_refspec *refspec);
|
|
34
37
|
|
|
35
|
-
int git_refspec__serialize(
|
|
38
|
+
int git_refspec__serialize(git_str *out, const git_refspec *refspec);
|
|
36
39
|
|
|
37
40
|
/**
|
|
38
41
|
* Determines if a refspec is a wildcard refspec.
|