rugged 0.17.0b2 → 0.17.0.b6
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +10 -11
- data/ext/rugged/extconf.rb +5 -13
- data/ext/rugged/rugged_commit.c +2 -5
- data/ext/rugged/rugged_reference.c +29 -28
- data/ext/rugged/rugged_remote.c +1 -1
- data/ext/rugged/rugged_repo.c +4 -1
- data/ext/rugged/rugged_tree.c +20 -19
- data/lib/rugged/commit.rb +5 -1
- data/lib/rugged/repository.rb +6 -4
- data/lib/rugged/version.rb +1 -1
- data/test/config_test.rb +1 -1
- data/test/index_test.rb +4 -2
- data/test/object_test.rb +3 -3
- data/test/reference_test.rb +66 -1
- data/test/repo_test.rb +4 -4
- data/test/tree_test.rb +1 -1
- data/test/walker_test.rb +1 -1
- data/vendor/libgit2/Makefile.embed +42 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/http-parser/http_parser.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/http-parser/http_parser.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/config.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regcomp.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex_internal.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regex_internal.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/regex/regexec.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/adler32.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/crc32.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/crc32.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/deflate.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/deflate.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inffast.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inffast.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inffixed.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inflate.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inflate.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inftrees.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/inftrees.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/trees.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/trees.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zconf.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zlib.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zutil.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/deps/zlib/zutil.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2.h +6 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/attr.h +35 -20
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/blob.h +1 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/branch.h +62 -24
- data/vendor/libgit2/include/git2/checkout.h +66 -0
- data/vendor/libgit2/include/git2/clone.h +59 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/commit.h +22 -3
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/common.h +27 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/config.h +22 -4
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/diff.h +20 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/errors.h +2 -37
- data/vendor/libgit2/include/git2/ignore.h +74 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/index.h +37 -5
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/indexer.h +2 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/inttypes.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/merge.h +10 -0
- data/vendor/libgit2/include/git2/message.h +43 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/net.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/notes.h +24 -20
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/object.h +18 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/odb.h +16 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/odb_backend.h +8 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/oid.h +26 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/reflog.h +39 -9
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/refs.h +55 -3
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/refspec.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/remote.h +68 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/repository.h +39 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/reset.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/revparse.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/revwalk.h +2 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/signature.h +3 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/status.h +5 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/stdint.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/submodule.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/tag.h +3 -3
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/threads.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/tree.h +77 -20
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/types.h +14 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/version.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/include/git2/windows.h +0 -0
- data/vendor/libgit2/src/amiga/map.c +51 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr.c +39 -6
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr.h +1 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr_file.c +2 -16
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/attr_file.h +4 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/blob.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/blob.h +0 -0
- data/vendor/libgit2/src/branch.c +294 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/bswap.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/buffer.c +40 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/buffer.h +22 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/cache.c +1 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/cache.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/cc-compat.h +0 -0
- data/vendor/libgit2/src/checkout.c +230 -0
- data/vendor/libgit2/src/clone.c +254 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/commit.c +42 -16
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/commit.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/common.h +3 -9
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/compat/fnmatch.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/compat/fnmatch.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config.c +15 -5
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config_cache.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config_file.c +86 -19
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/config_file.h +16 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/crlf.c +92 -4
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/date.c +20 -20
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/delta-apply.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/delta-apply.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/diff.c +45 -18
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/diff.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/diff_output.c +63 -46
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/errors.c +0 -0
- data/vendor/libgit2/src/fetch.c +380 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/fetch.h +1 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filebuf.c +7 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filebuf.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/fileops.c +16 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/fileops.h +10 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filter.c +38 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/filter.h +15 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/global.c +5 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/global.h +2 -6
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/hash.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/hash.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ignore.c +50 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ignore.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/index.c +95 -28
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/index.h +5 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/indexer.c +27 -25
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/iterator.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/iterator.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/khash.h +6 -4
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/map.h +4 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/message.c +27 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/message.h +2 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/mwindow.c +54 -10
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/mwindow.h +1 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/netops.c +48 -38
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/netops.h +7 -4
- data/vendor/libgit2/src/notes.c +610 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/notes.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/object.c +73 -2
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb.c +20 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb_loose.c +89 -3
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/odb_pack.c +61 -3
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/oid.c +1 -6
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/oidmap.h +1 -6
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pack.c +49 -4
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pack.h +5 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/path.c +144 -21
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/path.h +46 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pkt.c +30 -8
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pkt.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pool.c +7 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pool.h +7 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/posix.c +92 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/posix.h +36 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ppc/sha1.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/ppc/sha1.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pqueue.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/pqueue.h +0 -0
- data/vendor/libgit2/src/protocol.c +88 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/protocol.h +3 -9
- data/vendor/libgit2/src/reflog.c +489 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/reflog.h +3 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refs.c +95 -52
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refs.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refspec.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/refspec.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/remote.c +130 -8
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/remote.h +6 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/repository.c +167 -42
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/repository.h +7 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/reset.c +1 -1
- data/vendor/libgit2/src/revparse.c +830 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/revwalk.c +83 -15
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1.h +5 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1_lookup.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/sha1_lookup.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/signature.c +19 -5
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/signature.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/status.c +24 -18
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/strmap.h +1 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/submodule.c +3 -3
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tag.c +2 -9
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tag.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/thread-utils.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/thread-utils.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transport.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transport.h +13 -9
- data/vendor/libgit2/src/transports/git.c +245 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transports/http.c +93 -336
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/transports/local.c +35 -32
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree-cache.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree-cache.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree.c +214 -124
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tree.h +7 -3
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/tsort.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/unix/map.c +2 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/unix/posix.h +2 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/util.c +30 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/util.h +13 -6
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/vector.c +1 -1
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/vector.h +5 -5
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/dir.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/dir.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/map.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/mingw-compat.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/msvc-compat.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/posix.h +1 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/posix_w32.c +17 -1
- data/vendor/libgit2/src/win32/precompiled.c +1 -0
- data/vendor/libgit2/src/win32/precompiled.h +19 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/pthread.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/pthread.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/utf-conv.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/win32/utf-conv.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xdiff.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xdiffi.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xdiffi.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xemit.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xemit.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xhistogram.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xinclude.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xmacros.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xmerge.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xpatience.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xprepare.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xprepare.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xtypes.h +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xutils.c +0 -0
- data/{ext/rugged/vendor/libgit2-dist → vendor/libgit2}/src/xdiff/xutils.h +0 -0
- metadata +265 -348
- data/ext/rugged/vendor/libgit2-dist.tar.gz +0 -0
- data/ext/rugged/vendor/libgit2-dist/examples/diff.c +0 -238
- data/ext/rugged/vendor/libgit2-dist/examples/general.c +0 -451
- data/ext/rugged/vendor/libgit2-dist/examples/network/common.h +0 -14
- data/ext/rugged/vendor/libgit2-dist/examples/network/fetch.c +0 -113
- data/ext/rugged/vendor/libgit2-dist/examples/network/git2.c +0 -62
- data/ext/rugged/vendor/libgit2-dist/examples/network/index-pack.c +0 -102
- data/ext/rugged/vendor/libgit2-dist/examples/network/ls-remote.c +0 -76
- data/ext/rugged/vendor/libgit2-dist/examples/showindex.c +0 -43
- data/ext/rugged/vendor/libgit2-dist/src/branch.c +0 -208
- data/ext/rugged/vendor/libgit2-dist/src/branch.h +0 -17
- data/ext/rugged/vendor/libgit2-dist/src/fetch.c +0 -200
- data/ext/rugged/vendor/libgit2-dist/src/notes.c +0 -548
- data/ext/rugged/vendor/libgit2-dist/src/protocol.c +0 -58
- data/ext/rugged/vendor/libgit2-dist/src/reflog.c +0 -340
- data/ext/rugged/vendor/libgit2-dist/src/revparse.c +0 -748
- data/ext/rugged/vendor/libgit2-dist/src/transports/git.c +0 -477
- data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/attr_expect.h +0 -43
- data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/file.c +0 -226
- data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/flags.c +0 -108
- data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/lookup.c +0 -262
- data/ext/rugged/vendor/libgit2-dist/tests-clar/attr/repo.c +0 -273
- data/ext/rugged/vendor/libgit2-dist/tests-clar/buf/basic.c +0 -29
- data/ext/rugged/vendor/libgit2-dist/tests-clar/clar_helpers.c +0 -181
- data/ext/rugged/vendor/libgit2-dist/tests-clar/clar_libgit2.h +0 -55
- data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/commit.c +0 -44
- data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/parse.c +0 -350
- data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/signature.c +0 -65
- data/ext/rugged/vendor/libgit2-dist/tests-clar/commit/write.c +0 -140
- data/ext/rugged/vendor/libgit2-dist/tests-clar/config/add.c +0 -37
- data/ext/rugged/vendor/libgit2-dist/tests-clar/config/multivar.c +0 -151
- data/ext/rugged/vendor/libgit2-dist/tests-clar/config/new.c +0 -36
- data/ext/rugged/vendor/libgit2-dist/tests-clar/config/read.c +0 -221
- data/ext/rugged/vendor/libgit2-dist/tests-clar/config/stress.c +0 -61
- data/ext/rugged/vendor/libgit2-dist/tests-clar/config/write.c +0 -92
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/buffer.c +0 -613
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/dirent.c +0 -235
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/env.c +0 -115
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/errors.c +0 -60
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/filebuf.c +0 -92
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/hex.c +0 -22
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/oid.c +0 -18
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/path.c +0 -420
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/pool.c +0 -85
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/rmdir.c +0 -68
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/string.c +0 -28
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/strmap.c +0 -102
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/strtol.c +0 -37
- data/ext/rugged/vendor/libgit2-dist/tests-clar/core/vector.c +0 -191
- data/ext/rugged/vendor/libgit2-dist/tests-clar/date/date.c +0 -15
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/blob.c +0 -254
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/diff_helpers.c +0 -104
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/diff_helpers.h +0 -47
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/index.c +0 -92
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/iterator.c +0 -572
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/patch.c +0 -99
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/tree.c +0 -210
- data/ext/rugged/vendor/libgit2-dist/tests-clar/diff/workdir.c +0 -543
- data/ext/rugged/vendor/libgit2-dist/tests-clar/index/read_tree.c +0 -46
- data/ext/rugged/vendor/libgit2-dist/tests-clar/index/rename.c +0 -50
- data/ext/rugged/vendor/libgit2-dist/tests-clar/index/tests.c +0 -246
- data/ext/rugged/vendor/libgit2-dist/tests-clar/network/createremotethenload.c +0 -33
- data/ext/rugged/vendor/libgit2-dist/tests-clar/network/remotelocal.c +0 -137
- data/ext/rugged/vendor/libgit2-dist/tests-clar/network/remotes.c +0 -183
- data/ext/rugged/vendor/libgit2-dist/tests-clar/notes/notes.c +0 -133
- data/ext/rugged/vendor/libgit2-dist/tests-clar/notes/notesref.c +0 -57
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/blob/filter.c +0 -125
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/blob/fromchunks.c +0 -87
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/blob/write.c +0 -69
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/commit/commitstagedfile.c +0 -126
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/lookup.c +0 -63
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/message.c +0 -171
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/chars.c +0 -41
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/compare.c +0 -124
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/convert.c +0 -75
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/data.h +0 -323
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/fromstr.c +0 -30
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/hash.c +0 -166
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/short.c +0 -94
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/size.c +0 -13
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/type2string.c +0 -54
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/raw/write.c +0 -455
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tag/peel.c +0 -56
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tag/read.c +0 -130
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tag/write.c +0 -192
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tree/frompath.c +0 -81
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tree/read.c +0 -75
- data/ext/rugged/vendor/libgit2-dist/tests-clar/object/tree/write.c +0 -84
- data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/loose.c +0 -84
- data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/loose_data.h +0 -522
- data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/mixed.c +0 -24
- data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/pack_data.h +0 -151
- data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/packed.c +0 -78
- data/ext/rugged/vendor/libgit2-dist/tests-clar/odb/sorting.c +0 -71
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/create.c +0 -113
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/delete.c +0 -91
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/listall.c +0 -78
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/branches/move.c +0 -72
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/crashes.c +0 -17
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/create.c +0 -149
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/delete.c +0 -85
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/list.c +0 -53
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/listall.c +0 -36
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/lookup.c +0 -42
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/normalize.c +0 -200
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/overwrite.c +0 -136
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/pack.c +0 -67
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/read.c +0 -194
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/reflog.c +0 -123
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/rename.c +0 -339
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/revparse.c +0 -174
- data/ext/rugged/vendor/libgit2-dist/tests-clar/refs/unicode.c +0 -42
- data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/discover.c +0 -142
- data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/getters.c +0 -86
- data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/init.c +0 -249
- data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/open.c +0 -282
- data/ext/rugged/vendor/libgit2-dist/tests-clar/repo/setters.c +0 -80
- data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/mixed.c +0 -47
- data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/reset_helpers.c +0 -10
- data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/reset_helpers.h +0 -6
- data/ext/rugged/vendor/libgit2-dist/tests-clar/reset/soft.c +0 -102
- data/ext/rugged/vendor/libgit2-dist/tests-clar/revwalk/basic.c +0 -181
- data/ext/rugged/vendor/libgit2-dist/tests-clar/revwalk/mergebase.c +0 -148
- data/ext/rugged/vendor/libgit2-dist/tests-clar/status/ignore.c +0 -147
- data/ext/rugged/vendor/libgit2-dist/tests-clar/status/single.c +0 -29
- data/ext/rugged/vendor/libgit2-dist/tests-clar/status/status_data.h +0 -202
- data/ext/rugged/vendor/libgit2-dist/tests-clar/status/status_helpers.c +0 -49
- data/ext/rugged/vendor/libgit2-dist/tests-clar/status/status_helpers.h +0 -33
- data/ext/rugged/vendor/libgit2-dist/tests-clar/status/submodules.c +0 -112
- data/ext/rugged/vendor/libgit2-dist/tests-clar/status/worktree.c +0 -649
- data/ext/rugged/vendor/libgit2-dist/tests-clar/threads/basic.c +0 -20
@@ -104,6 +104,9 @@ static void commit_list_free(commit_list **list_p)
|
|
104
104
|
{
|
105
105
|
commit_list *list = *list_p;
|
106
106
|
|
107
|
+
if (list == NULL)
|
108
|
+
return;
|
109
|
+
|
107
110
|
while (list) {
|
108
111
|
commit_list *temp = list;
|
109
112
|
list = temp->next;
|
@@ -185,7 +188,7 @@ static int commit_quick_parse(git_revwalk *walk, commit_object *commit, git_rawo
|
|
185
188
|
const size_t parent_len = strlen("parent ") + GIT_OID_HEXSZ + 1;
|
186
189
|
unsigned char *buffer = raw->data;
|
187
190
|
unsigned char *buffer_end = buffer + raw->len;
|
188
|
-
unsigned char *parents_start;
|
191
|
+
unsigned char *parents_start, *committer_start;
|
189
192
|
int i, parents = 0;
|
190
193
|
int commit_time;
|
191
194
|
|
@@ -216,17 +219,34 @@ static int commit_quick_parse(git_revwalk *walk, commit_object *commit, git_rawo
|
|
216
219
|
|
217
220
|
commit->out_degree = (unsigned short)parents;
|
218
221
|
|
222
|
+
if ((committer_start = buffer = memchr(buffer, '\n', buffer_end - buffer)) == NULL)
|
223
|
+
return commit_error(commit, "object is corrupted");
|
224
|
+
|
225
|
+
buffer++;
|
226
|
+
|
219
227
|
if ((buffer = memchr(buffer, '\n', buffer_end - buffer)) == NULL)
|
220
228
|
return commit_error(commit, "object is corrupted");
|
221
229
|
|
222
|
-
|
223
|
-
|
224
|
-
|
230
|
+
/* Skip trailing spaces */
|
231
|
+
while (buffer > committer_start && git__isspace(*buffer))
|
232
|
+
buffer--;
|
233
|
+
|
234
|
+
/* Seek for the begining of the pack of digits */
|
235
|
+
while (buffer > committer_start && git__isdigit(*buffer))
|
236
|
+
buffer--;
|
225
237
|
|
226
|
-
|
227
|
-
|
238
|
+
/* Skip potential timezone offset */
|
239
|
+
if ((buffer > committer_start) && (*buffer == '+' || *buffer == '-')) {
|
240
|
+
buffer--;
|
228
241
|
|
229
|
-
|
242
|
+
while (buffer > committer_start && git__isspace(*buffer))
|
243
|
+
buffer--;
|
244
|
+
|
245
|
+
while (buffer > committer_start && git__isdigit(*buffer))
|
246
|
+
buffer--;
|
247
|
+
}
|
248
|
+
|
249
|
+
if ((buffer == committer_start) || (git__strtol32(&commit_time, (char *)(buffer + 1), NULL, 10) < 0))
|
230
250
|
return commit_error(commit, "cannot parse commit time");
|
231
251
|
|
232
252
|
commit->time = (time_t)commit_time;
|
@@ -351,6 +371,59 @@ static int merge_bases_many(commit_list **out, git_revwalk *walk, commit_object
|
|
351
371
|
return 0;
|
352
372
|
}
|
353
373
|
|
374
|
+
int git_merge_base_many(git_oid *out, git_repository *repo, const git_oid input_array[], size_t length)
|
375
|
+
{
|
376
|
+
git_revwalk *walk;
|
377
|
+
git_vector list;
|
378
|
+
commit_list *result = NULL;
|
379
|
+
int error = -1;
|
380
|
+
unsigned int i;
|
381
|
+
commit_object *commit;
|
382
|
+
|
383
|
+
assert(out && repo && input_array);
|
384
|
+
|
385
|
+
if (length < 2) {
|
386
|
+
giterr_set(GITERR_INVALID, "At least two commits are required to find an ancestor. Provided 'length' was %u.", length);
|
387
|
+
return -1;
|
388
|
+
}
|
389
|
+
|
390
|
+
if (git_vector_init(&list, length - 1, NULL) < 0)
|
391
|
+
return -1;
|
392
|
+
|
393
|
+
if (git_revwalk_new(&walk, repo) < 0)
|
394
|
+
goto cleanup;
|
395
|
+
|
396
|
+
for (i = 1; i < length; i++) {
|
397
|
+
commit = commit_lookup(walk, &input_array[i]);
|
398
|
+
if (commit == NULL)
|
399
|
+
goto cleanup;
|
400
|
+
|
401
|
+
git_vector_insert(&list, commit);
|
402
|
+
}
|
403
|
+
|
404
|
+
commit = commit_lookup(walk, &input_array[0]);
|
405
|
+
if (commit == NULL)
|
406
|
+
goto cleanup;
|
407
|
+
|
408
|
+
if (merge_bases_many(&result, walk, commit, &list) < 0)
|
409
|
+
goto cleanup;
|
410
|
+
|
411
|
+
if (!result) {
|
412
|
+
error = GIT_ENOTFOUND;
|
413
|
+
goto cleanup;
|
414
|
+
}
|
415
|
+
|
416
|
+
git_oid_cpy(out, &result->item->oid);
|
417
|
+
|
418
|
+
error = 0;
|
419
|
+
|
420
|
+
cleanup:
|
421
|
+
commit_list_free(&result);
|
422
|
+
git_revwalk_free(walk);
|
423
|
+
git_vector_free(&list);
|
424
|
+
return error;
|
425
|
+
}
|
426
|
+
|
354
427
|
int git_merge_base(git_oid *out, git_repository *repo, git_oid *one, git_oid *two)
|
355
428
|
{
|
356
429
|
git_revwalk *walk;
|
@@ -484,7 +557,6 @@ static int push_ref(git_revwalk *walk, const char *refname, int hide)
|
|
484
557
|
|
485
558
|
struct push_cb_data {
|
486
559
|
git_revwalk *walk;
|
487
|
-
const char *glob;
|
488
560
|
int hide;
|
489
561
|
};
|
490
562
|
|
@@ -492,10 +564,7 @@ static int push_glob_cb(const char *refname, void *data_)
|
|
492
564
|
{
|
493
565
|
struct push_cb_data *data = (struct push_cb_data *)data_;
|
494
566
|
|
495
|
-
|
496
|
-
return push_ref(data->walk, refname, data->hide);
|
497
|
-
|
498
|
-
return 0;
|
567
|
+
return push_ref(data->walk, refname, data->hide);
|
499
568
|
}
|
500
569
|
|
501
570
|
static int push_glob(git_revwalk *walk, const char *glob, int hide)
|
@@ -528,11 +597,10 @@ static int push_glob(git_revwalk *walk, const char *glob, int hide)
|
|
528
597
|
goto on_error;
|
529
598
|
|
530
599
|
data.walk = walk;
|
531
|
-
data.glob = git_buf_cstr(&buf);
|
532
600
|
data.hide = hide;
|
533
601
|
|
534
|
-
if (
|
535
|
-
|
602
|
+
if (git_reference_foreach_glob(
|
603
|
+
walk->repo, git_buf_cstr(&buf), GIT_REF_LISTALL, push_glob_cb, &data) < 0)
|
536
604
|
goto on_error;
|
537
605
|
|
538
606
|
regfree(&preg);
|
File without changes
|
@@ -5,6 +5,9 @@
|
|
5
5
|
* a Linking Exception. For full terms see the included COPYING file.
|
6
6
|
*/
|
7
7
|
|
8
|
+
#ifndef INCLUDE_sha1_h__
|
9
|
+
#define INCLUDE_sha1_h__
|
10
|
+
|
8
11
|
typedef struct {
|
9
12
|
unsigned long long size;
|
10
13
|
unsigned int H[5];
|
@@ -19,3 +22,5 @@ void git__blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx);
|
|
19
22
|
#define SHA1_Init git__blk_SHA1_Init
|
20
23
|
#define SHA1_Update git__blk_SHA1_Update
|
21
24
|
#define SHA1_Final git__blk_SHA1_Final
|
25
|
+
|
26
|
+
#endif
|
File without changes
|
File without changes
|
@@ -40,7 +40,7 @@ static const char *skip_trailing_spaces(const char *buffer_start, const char *bu
|
|
40
40
|
|
41
41
|
static int signature_error(const char *msg)
|
42
42
|
{
|
43
|
-
giterr_set(GITERR_INVALID, "Failed to
|
43
|
+
giterr_set(GITERR_INVALID, "Failed to process signature - %s", msg);
|
44
44
|
return -1;
|
45
45
|
}
|
46
46
|
|
@@ -72,9 +72,16 @@ static int process_trimming(const char *input, char **storage, const char *input
|
|
72
72
|
return 0;
|
73
73
|
}
|
74
74
|
|
75
|
+
static bool contains_angle_brackets(const char *input)
|
76
|
+
{
|
77
|
+
if (strchr(input, '<') != NULL)
|
78
|
+
return true;
|
79
|
+
|
80
|
+
return strchr(input, '>') != NULL;
|
81
|
+
}
|
82
|
+
|
75
83
|
int git_signature_new(git_signature **sig_out, const char *name, const char *email, git_time_t time, int offset)
|
76
84
|
{
|
77
|
-
int error;
|
78
85
|
git_signature *p = NULL;
|
79
86
|
|
80
87
|
assert(name && email);
|
@@ -84,11 +91,18 @@ int git_signature_new(git_signature **sig_out, const char *name, const char *ema
|
|
84
91
|
p = git__calloc(1, sizeof(git_signature));
|
85
92
|
GITERR_CHECK_ALLOC(p);
|
86
93
|
|
87
|
-
if (
|
88
|
-
|
94
|
+
if (process_trimming(name, &p->name, name + strlen(name), 1) < 0 ||
|
95
|
+
process_trimming(email, &p->email, email + strlen(email), 1) < 0)
|
89
96
|
{
|
90
97
|
git_signature_free(p);
|
91
|
-
return
|
98
|
+
return -1;
|
99
|
+
}
|
100
|
+
|
101
|
+
if (contains_angle_brackets(p->email) ||
|
102
|
+
contains_angle_brackets(p->name))
|
103
|
+
{
|
104
|
+
git_signature_free(p);
|
105
|
+
return signature_error("Neither `name` nor `email` should contain angle brackets chars.");
|
92
106
|
}
|
93
107
|
|
94
108
|
p->when.time = time;
|
File without changes
|
@@ -81,7 +81,7 @@ int git_status_foreach_ext(
|
|
81
81
|
git_status_show_t show =
|
82
82
|
opts ? opts->show : GIT_STATUS_SHOW_INDEX_AND_WORKDIR;
|
83
83
|
git_diff_delta *i2h, *w2i;
|
84
|
-
|
84
|
+
size_t i, j, i_max, j_max;
|
85
85
|
|
86
86
|
assert(show <= GIT_STATUS_SHOW_INDEX_THEN_WORKDIR);
|
87
87
|
|
@@ -99,6 +99,8 @@ int git_status_foreach_ext(
|
|
99
99
|
diffopt.flags = diffopt.flags | GIT_DIFF_INCLUDE_UNMODIFIED;
|
100
100
|
if ((opts->flags & GIT_STATUS_OPT_RECURSE_UNTRACKED_DIRS) != 0)
|
101
101
|
diffopt.flags = diffopt.flags | GIT_DIFF_RECURSE_UNTRACKED_DIRS;
|
102
|
+
if ((opts->flags & GIT_STATUS_OPT_DISABLE_PATHSPEC_MATCH) != 0)
|
103
|
+
diffopt.flags = diffopt.flags | GIT_DIFF_DISABLE_PATHSPEC_MATCH;
|
102
104
|
/* TODO: support EXCLUDE_SUBMODULES flag */
|
103
105
|
|
104
106
|
if (show != GIT_STATUS_SHOW_WORKDIR_ONLY &&
|
@@ -112,7 +114,8 @@ int git_status_foreach_ext(
|
|
112
114
|
if (show == GIT_STATUS_SHOW_INDEX_THEN_WORKDIR) {
|
113
115
|
for (i = 0; !err && i < idx2head->deltas.length; i++) {
|
114
116
|
i2h = GIT_VECTOR_GET(&idx2head->deltas, i);
|
115
|
-
|
117
|
+
if (cb(i2h->old_file.path, index_delta2status(i2h->status), cbdata))
|
118
|
+
err = GIT_EUSER;
|
116
119
|
}
|
117
120
|
git_diff_list_free(idx2head);
|
118
121
|
idx2head = NULL;
|
@@ -128,14 +131,17 @@ int git_status_foreach_ext(
|
|
128
131
|
cmp = !w2i ? -1 : !i2h ? 1 : strcmp(i2h->old_file.path, w2i->old_file.path);
|
129
132
|
|
130
133
|
if (cmp < 0) {
|
131
|
-
|
134
|
+
if (cb(i2h->old_file.path, index_delta2status(i2h->status), cbdata))
|
135
|
+
err = GIT_EUSER;
|
132
136
|
i++;
|
133
137
|
} else if (cmp > 0) {
|
134
|
-
|
138
|
+
if (cb(w2i->old_file.path, workdir_delta2status(w2i->status), cbdata))
|
139
|
+
err = GIT_EUSER;
|
135
140
|
j++;
|
136
141
|
} else {
|
137
|
-
|
138
|
-
|
142
|
+
if (cb(i2h->old_file.path, index_delta2status(i2h->status) |
|
143
|
+
workdir_delta2status(w2i->status), cbdata))
|
144
|
+
err = GIT_EUSER;
|
139
145
|
i++; j++;
|
140
146
|
}
|
141
147
|
}
|
@@ -144,6 +150,7 @@ cleanup:
|
|
144
150
|
git_tree_free(head);
|
145
151
|
git_diff_list_free(idx2head);
|
146
152
|
git_diff_list_free(wd2idx);
|
153
|
+
|
147
154
|
return err;
|
148
155
|
}
|
149
156
|
|
@@ -164,9 +171,10 @@ int git_status_foreach(
|
|
164
171
|
}
|
165
172
|
|
166
173
|
struct status_file_info {
|
174
|
+
char *expected;
|
167
175
|
unsigned int count;
|
168
176
|
unsigned int status;
|
169
|
-
|
177
|
+
int ambiguous;
|
170
178
|
};
|
171
179
|
|
172
180
|
static int get_one_status(const char *path, unsigned int status, void *data)
|
@@ -176,10 +184,13 @@ static int get_one_status(const char *path, unsigned int status, void *data)
|
|
176
184
|
sfi->count++;
|
177
185
|
sfi->status = status;
|
178
186
|
|
179
|
-
if (sfi->count > 1 ||
|
187
|
+
if (sfi->count > 1 ||
|
188
|
+
(strcmp(sfi->expected, path) != 0 &&
|
189
|
+
p_fnmatch(sfi->expected, path, 0) != 0)) {
|
180
190
|
giterr_set(GITERR_INVALID,
|
181
191
|
"Ambiguous path '%s' given to git_status_file", sfi->expected);
|
182
|
-
|
192
|
+
sfi->ambiguous = true;
|
193
|
+
return GIT_EAMBIGUOUS;
|
183
194
|
}
|
184
195
|
|
185
196
|
return 0;
|
@@ -211,6 +222,9 @@ int git_status_file(
|
|
211
222
|
|
212
223
|
error = git_status_foreach_ext(repo, &opts, get_one_status, &sfi);
|
213
224
|
|
225
|
+
if (error < 0 && sfi.ambiguous)
|
226
|
+
error = GIT_EAMBIGUOUS;
|
227
|
+
|
214
228
|
if (!error && !sfi.count) {
|
215
229
|
giterr_set(GITERR_INVALID,
|
216
230
|
"Attempt to get status of nonexistent file '%s'", path);
|
@@ -229,14 +243,6 @@ int git_status_should_ignore(
|
|
229
243
|
git_repository *repo,
|
230
244
|
const char *path)
|
231
245
|
{
|
232
|
-
|
233
|
-
git_ignores ignores;
|
234
|
-
|
235
|
-
if (git_ignore__for_path(repo, path, &ignores) < 0)
|
236
|
-
return -1;
|
237
|
-
|
238
|
-
error = git_ignore__lookup(&ignores, path, ignored);
|
239
|
-
git_ignore__free(&ignores);
|
240
|
-
return error;
|
246
|
+
return git_ignore_path_is_ignored(ignored, repo, path);
|
241
247
|
}
|
242
248
|
|
@@ -19,7 +19,7 @@ __KHASH_TYPE(str, const char *, void *);
|
|
19
19
|
typedef khash_t(str) git_strmap;
|
20
20
|
|
21
21
|
#define GIT__USE_STRMAP \
|
22
|
-
__KHASH_IMPL(str, static
|
22
|
+
__KHASH_IMPL(str, static kh_inline, const char *, void *, 1, kh_str_hash_func, kh_str_hash_equal)
|
23
23
|
|
24
24
|
#define git_strmap_alloc() kh_init(str)
|
25
25
|
#define git_strmap_free(h) kh_destroy(str, h), h = NULL
|
@@ -31,7 +31,7 @@ static git_cvar_map _sm_ignore_map[] = {
|
|
31
31
|
{GIT_CVAR_STRING, "none", GIT_SUBMODULE_IGNORE_NONE}
|
32
32
|
};
|
33
33
|
|
34
|
-
static
|
34
|
+
static kh_inline khint_t str_hash_no_trailing_slash(const char *s)
|
35
35
|
{
|
36
36
|
khint_t h;
|
37
37
|
|
@@ -42,7 +42,7 @@ static inline khint_t str_hash_no_trailing_slash(const char *s)
|
|
42
42
|
return h;
|
43
43
|
}
|
44
44
|
|
45
|
-
static
|
45
|
+
static kh_inline int str_equal_no_trailing_slash(const char *a, const char *b)
|
46
46
|
{
|
47
47
|
size_t alen = a ? strlen(a) : 0;
|
48
48
|
size_t blen = b ? strlen(b) : 0;
|
@@ -55,7 +55,7 @@ static inline int str_equal_no_trailing_slash(const char *a, const char *b)
|
|
55
55
|
return (alen == blen && strncmp(a, b, alen) == 0);
|
56
56
|
}
|
57
57
|
|
58
|
-
__KHASH_IMPL(str, static
|
58
|
+
__KHASH_IMPL(str, static kh_inline, const char *, void *, 1, str_hash_no_trailing_slash, str_equal_no_trailing_slash);
|
59
59
|
|
60
60
|
static git_submodule *submodule_alloc(const char *name)
|
61
61
|
{
|
@@ -196,7 +196,7 @@ static int write_tag_annotation(
|
|
196
196
|
const git_signature *tagger,
|
197
197
|
const char *message)
|
198
198
|
{
|
199
|
-
git_buf tag = GIT_BUF_INIT
|
199
|
+
git_buf tag = GIT_BUF_INIT;
|
200
200
|
git_odb *odb;
|
201
201
|
|
202
202
|
git_oid__writebuf(&tag, "object ", git_object_id(target));
|
@@ -205,15 +205,9 @@ static int write_tag_annotation(
|
|
205
205
|
git_signature__writebuf(&tag, "tagger ", tagger);
|
206
206
|
git_buf_putc(&tag, '\n');
|
207
207
|
|
208
|
-
|
209
|
-
if (git_message_prettify(&cleaned_message, message, 1) < 0)
|
208
|
+
if (git_buf_puts(&tag, message) < 0)
|
210
209
|
goto on_error;
|
211
210
|
|
212
|
-
if (git_buf_puts(&tag, git_buf_cstr(&cleaned_message)) < 0)
|
213
|
-
goto on_error;
|
214
|
-
|
215
|
-
git_buf_free(&cleaned_message);
|
216
|
-
|
217
211
|
if (git_repository_odb__weakptr(&odb, repo) < 0)
|
218
212
|
goto on_error;
|
219
213
|
|
@@ -225,7 +219,6 @@ static int write_tag_annotation(
|
|
225
219
|
|
226
220
|
on_error:
|
227
221
|
git_buf_free(&tag);
|
228
|
-
git_buf_free(&cleaned_message);
|
229
222
|
giterr_set(GITERR_OBJECT, "Failed to create tag annotation.");
|
230
223
|
return -1;
|
231
224
|
}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -12,6 +12,7 @@
|
|
12
12
|
#include "vector.h"
|
13
13
|
#include "posix.h"
|
14
14
|
#include "common.h"
|
15
|
+
#include "netops.h"
|
15
16
|
#ifdef GIT_SSL
|
16
17
|
# include <openssl/ssl.h>
|
17
18
|
# include <openssl/err.h>
|
@@ -19,10 +20,12 @@
|
|
19
20
|
|
20
21
|
|
21
22
|
#define GIT_CAP_OFS_DELTA "ofs-delta"
|
23
|
+
#define GIT_CAP_MULTI_ACK "multi_ack"
|
22
24
|
|
23
25
|
typedef struct git_transport_caps {
|
24
26
|
int common:1,
|
25
|
-
ofs_delta:1
|
27
|
+
ofs_delta:1,
|
28
|
+
multi_ack: 1;
|
26
29
|
} git_transport_caps;
|
27
30
|
|
28
31
|
#ifdef GIT_SSL
|
@@ -70,19 +73,25 @@ struct git_transport {
|
|
70
73
|
int direction : 1, /* 0 fetch, 1 push */
|
71
74
|
connected : 1,
|
72
75
|
check_cert: 1,
|
73
|
-
|
76
|
+
use_ssl : 1,
|
77
|
+
own_logic: 1, /* transitional */
|
78
|
+
rpc: 1; /* git-speak for the HTTP transport */
|
74
79
|
#ifdef GIT_SSL
|
75
80
|
struct gitno_ssl ssl;
|
76
81
|
#endif
|
82
|
+
git_vector refs;
|
83
|
+
git_vector common;
|
84
|
+
gitno_buffer buffer;
|
77
85
|
GIT_SOCKET socket;
|
86
|
+
git_transport_caps caps;
|
78
87
|
/**
|
79
88
|
* Connect and store the remote heads
|
80
89
|
*/
|
81
90
|
int (*connect)(struct git_transport *transport, int dir);
|
82
91
|
/**
|
83
|
-
*
|
92
|
+
* Send our side of a negotiation
|
84
93
|
*/
|
85
|
-
int (*
|
94
|
+
int (*negotiation_step)(struct git_transport *transport, void *data, size_t len);
|
86
95
|
/**
|
87
96
|
* Push the changes over
|
88
97
|
*/
|
@@ -96,10 +105,6 @@ struct git_transport {
|
|
96
105
|
* Download the packfile
|
97
106
|
*/
|
98
107
|
int (*download_pack)(struct git_transport *transport, git_repository *repo, git_off_t *bytes, git_indexer_stats *stats);
|
99
|
-
/**
|
100
|
-
* Fetch the changes
|
101
|
-
*/
|
102
|
-
int (*fetch)(struct git_transport *transport);
|
103
108
|
/**
|
104
109
|
* Close the connection
|
105
110
|
*/
|
@@ -124,7 +129,6 @@ int git_transport_dummy(struct git_transport **transport);
|
|
124
129
|
*/
|
125
130
|
int git_transport_valid_url(const char *url);
|
126
131
|
|
127
|
-
typedef struct git_transport git_transport;
|
128
132
|
typedef int (*git_transport_cb)(git_transport **transport);
|
129
133
|
|
130
134
|
#endif
|