rugged 0.1.2 → 0.16.0b1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +25 -36
- data/Rakefile +20 -98
- data/ext/rugged/extconf.rb +44 -4
- data/ext/rugged/remote.c +215 -0
- data/ext/rugged/rugged.c +171 -0
- data/ext/rugged/rugged.h +126 -0
- data/ext/rugged/rugged_blob.c +99 -0
- data/ext/rugged/rugged_commit.c +224 -0
- data/ext/rugged/rugged_config.c +238 -0
- data/ext/rugged/rugged_index.c +440 -0
- data/ext/rugged/rugged_object.c +203 -0
- data/ext/rugged/rugged_reference.c +401 -0
- data/ext/rugged/rugged_repo.c +482 -0
- data/ext/rugged/rugged_revwalk.c +138 -0
- data/ext/rugged/rugged_signature.c +80 -0
- data/ext/rugged/rugged_tag.c +216 -0
- data/ext/rugged/rugged_tree.c +322 -0
- data/ext/rugged/vendor/libgit2-dist.tar.gz +0 -0
- data/ext/rugged/vendor/libgit2-dist/deps/http-parser/http_parser.c +1778 -0
- data/ext/rugged/vendor/libgit2-dist/deps/http-parser/http_parser.h +267 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/adler32.c +169 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/crc32.c +442 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/crc32.h +441 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/deflate.c +1834 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/deflate.h +342 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffast.c +340 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffast.h +11 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/inffixed.h +94 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/inflate.c +1480 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/inflate.h +122 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/inftrees.c +330 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/inftrees.h +62 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/trees.c +1244 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/trees.h +128 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/zconf.h +54 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/zlib.h +1613 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/zutil.c +318 -0
- data/ext/rugged/vendor/libgit2-dist/deps/zlib/zutil.h +274 -0
- data/ext/rugged/vendor/libgit2-dist/examples/general.c +451 -0
- data/ext/rugged/vendor/libgit2-dist/examples/network/common.h +14 -0
- data/ext/rugged/vendor/libgit2-dist/examples/network/fetch.c +97 -0
- data/ext/rugged/vendor/libgit2-dist/examples/network/git2.c +58 -0
- data/ext/rugged/vendor/libgit2-dist/examples/network/index-pack.c +47 -0
- data/ext/rugged/vendor/libgit2-dist/examples/network/ls-remote.c +76 -0
- data/ext/rugged/vendor/libgit2-dist/examples/showindex.c +43 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2.h +44 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/blob.h +120 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/branch.h +15 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/commit.h +263 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/common.h +103 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/config.h +278 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/errors.h +144 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/index.h +306 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/indexer.h +76 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/inttypes.h +305 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/net.h +51 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/object.h +173 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/odb.h +331 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/odb_backend.h +100 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/oid.h +218 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/reflog.h +128 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/refs.h +309 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/refspec.h +60 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/remote.h +176 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/repository.h +290 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/revwalk.h +169 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/signature.h +65 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/status.h +63 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/stdint.h +247 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/tag.h +279 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/threads.h +48 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/tree.h +318 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/types.h +169 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/version.h +15 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/windows.h +59 -0
- data/ext/rugged/vendor/libgit2-dist/include/git2/zlib.h +40 -0
- data/ext/rugged/vendor/libgit2-dist/src/blob.c +135 -0
- data/ext/rugged/vendor/libgit2-dist/src/blob.h +23 -0
- data/ext/rugged/vendor/libgit2-dist/src/bswap.h +97 -0
- data/ext/rugged/vendor/libgit2-dist/src/buffer.c +113 -0
- data/ext/rugged/vendor/libgit2-dist/src/buffer.h +32 -0
- data/ext/rugged/vendor/libgit2-dist/src/cache.c +111 -0
- data/ext/rugged/vendor/libgit2-dist/src/cache.h +64 -0
- data/ext/rugged/vendor/libgit2-dist/src/cc-compat.h +67 -0
- data/ext/rugged/vendor/libgit2-dist/src/commit.c +299 -0
- data/ext/rugged/vendor/libgit2-dist/src/commit.h +34 -0
- data/ext/rugged/vendor/libgit2-dist/src/common.h +64 -0
- data/ext/rugged/vendor/libgit2-dist/src/config.c +418 -0
- data/ext/rugged/vendor/libgit2-dist/src/config.h +24 -0
- data/ext/rugged/vendor/libgit2-dist/src/config_file.c +1210 -0
- data/ext/rugged/vendor/libgit2-dist/src/delta-apply.c +115 -0
- data/ext/rugged/vendor/libgit2-dist/src/delta-apply.h +33 -0
- data/ext/rugged/vendor/libgit2-dist/src/dir.h +47 -0
- data/ext/rugged/vendor/libgit2-dist/src/errors.c +104 -0
- data/ext/rugged/vendor/libgit2-dist/src/fetch.c +172 -0
- data/ext/rugged/vendor/libgit2-dist/src/fetch.h +18 -0
- data/ext/rugged/vendor/libgit2-dist/src/filebuf.c +400 -0
- data/ext/rugged/vendor/libgit2-dist/src/filebuf.h +72 -0
- data/ext/rugged/vendor/libgit2-dist/src/fileops.c +358 -0
- data/ext/rugged/vendor/libgit2-dist/src/fileops.h +151 -0
- data/ext/rugged/vendor/libgit2-dist/src/global.c +134 -0
- data/ext/rugged/vendor/libgit2-dist/src/global.h +24 -0
- data/ext/rugged/vendor/libgit2-dist/src/hash.c +74 -0
- data/ext/rugged/vendor/libgit2-dist/src/hash.h +29 -0
- data/ext/rugged/vendor/libgit2-dist/src/hashtable.c +243 -0
- data/ext/rugged/vendor/libgit2-dist/src/hashtable.h +80 -0
- data/ext/rugged/vendor/libgit2-dist/src/index.c +918 -0
- data/ext/rugged/vendor/libgit2-dist/src/index.h +34 -0
- data/ext/rugged/vendor/libgit2-dist/src/indexer.c +401 -0
- data/ext/rugged/vendor/libgit2-dist/src/map.h +37 -0
- data/ext/rugged/vendor/libgit2-dist/src/mwindow.c +272 -0
- data/ext/rugged/vendor/libgit2-dist/src/mwindow.h +45 -0
- data/ext/rugged/vendor/libgit2-dist/src/netops.c +198 -0
- data/ext/rugged/vendor/libgit2-dist/src/netops.h +36 -0
- data/ext/rugged/vendor/libgit2-dist/src/object.c +295 -0
- data/ext/rugged/vendor/libgit2-dist/src/odb.c +672 -0
- data/ext/rugged/vendor/libgit2-dist/src/odb.h +43 -0
- data/ext/rugged/vendor/libgit2-dist/src/odb_loose.c +855 -0
- data/ext/rugged/vendor/libgit2-dist/src/odb_pack.c +485 -0
- data/ext/rugged/vendor/libgit2-dist/src/oid.c +388 -0
- data/ext/rugged/vendor/libgit2-dist/src/pack.c +788 -0
- data/ext/rugged/vendor/libgit2-dist/src/pack.h +99 -0
- data/ext/rugged/vendor/libgit2-dist/src/path.c +270 -0
- data/ext/rugged/vendor/libgit2-dist/src/path.h +84 -0
- data/ext/rugged/vendor/libgit2-dist/src/pkt.c +426 -0
- data/ext/rugged/vendor/libgit2-dist/src/pkt.h +77 -0
- data/ext/rugged/vendor/libgit2-dist/src/posix.c +94 -0
- data/ext/rugged/vendor/libgit2-dist/src/posix.h +69 -0
- data/ext/rugged/vendor/libgit2-dist/src/ppc/sha1.c +70 -0
- data/ext/rugged/vendor/libgit2-dist/src/ppc/sha1.h +26 -0
- data/ext/rugged/vendor/libgit2-dist/src/pqueue.c +141 -0
- data/ext/rugged/vendor/libgit2-dist/src/pqueue.h +81 -0
- data/ext/rugged/vendor/libgit2-dist/src/protocol.c +50 -0
- data/ext/rugged/vendor/libgit2-dist/src/protocol.h +23 -0
- data/ext/rugged/vendor/libgit2-dist/src/reflog.c +318 -0
- data/ext/rugged/vendor/libgit2-dist/src/reflog.h +34 -0
- data/ext/rugged/vendor/libgit2-dist/src/refs.c +1693 -0
- data/ext/rugged/vendor/libgit2-dist/src/refs.h +58 -0
- data/ext/rugged/vendor/libgit2-dist/src/refspec.c +95 -0
- data/ext/rugged/vendor/libgit2-dist/src/refspec.h +23 -0
- data/ext/rugged/vendor/libgit2-dist/src/remote.c +339 -0
- data/ext/rugged/vendor/libgit2-dist/src/remote.h +25 -0
- data/ext/rugged/vendor/libgit2-dist/src/repository.c +849 -0
- data/ext/rugged/vendor/libgit2-dist/src/repository.h +60 -0
- data/ext/rugged/vendor/libgit2-dist/src/revwalk.c +569 -0
- data/ext/rugged/vendor/libgit2-dist/src/sha1.c +280 -0
- data/ext/rugged/vendor/libgit2-dist/src/sha1.h +21 -0
- data/ext/rugged/vendor/libgit2-dist/src/sha1_lookup.c +177 -0
- data/ext/rugged/vendor/libgit2-dist/src/sha1_lookup.h +18 -0
- data/ext/rugged/vendor/libgit2-dist/src/signature.c +335 -0
- data/ext/rugged/vendor/libgit2-dist/src/signature.h +18 -0
- data/ext/rugged/vendor/libgit2-dist/src/status.c +696 -0
- data/ext/rugged/vendor/libgit2-dist/src/tag.c +446 -0
- data/ext/rugged/vendor/libgit2-dist/src/tag.h +28 -0
- data/ext/rugged/vendor/libgit2-dist/src/thread-utils.c +55 -0
- data/ext/rugged/vendor/libgit2-dist/src/thread-utils.h +108 -0
- data/ext/rugged/vendor/libgit2-dist/src/transport.c +85 -0
- data/ext/rugged/vendor/libgit2-dist/src/transport.h +110 -0
- data/ext/rugged/vendor/libgit2-dist/src/transports/git.c +502 -0
- data/ext/rugged/vendor/libgit2-dist/src/transports/http.c +756 -0
- data/ext/rugged/vendor/libgit2-dist/src/transports/local.c +235 -0
- data/ext/rugged/vendor/libgit2-dist/src/tree-cache.c +201 -0
- data/ext/rugged/vendor/libgit2-dist/src/tree-cache.h +31 -0
- data/ext/rugged/vendor/libgit2-dist/src/tree.c +758 -0
- data/ext/rugged/vendor/libgit2-dist/src/tree.h +37 -0
- data/ext/rugged/vendor/libgit2-dist/src/tsort.c +365 -0
- data/ext/rugged/vendor/libgit2-dist/src/unix/map.c +70 -0
- data/ext/rugged/vendor/libgit2-dist/src/unix/posix.h +25 -0
- data/ext/rugged/vendor/libgit2-dist/src/util.c +381 -0
- data/ext/rugged/vendor/libgit2-dist/src/util.h +137 -0
- data/ext/rugged/vendor/libgit2-dist/src/vector.c +174 -0
- data/ext/rugged/vendor/libgit2-dist/src/vector.h +45 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/dir.c +115 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/fnmatch.c +180 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/fnmatch.h +27 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/map.c +131 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/mingw-compat.h +24 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/msvc-compat.h +38 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/posix.h +53 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/posix_w32.c +404 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/pthread.c +65 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/pthread.h +40 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/utf-conv.c +88 -0
- data/ext/rugged/vendor/libgit2-dist/src/win32/utf-conv.h +17 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/buf/basic.c +29 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/clay.h +187 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/clay_libgit2.h +28 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/clay_main.c +1073 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/config/add.c +37 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/config/new.c +36 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/config/read.c +209 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/config/stress.c +39 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/config/write.c +77 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/dirent.c +222 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/filebuf.c +106 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/oid.c +18 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/path.c +139 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/rmdir.c +50 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/string.c +28 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/strtol.c +37 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/core/vector.c +66 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/index/rename.c +60 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/network/remotes.c +50 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/chars.c +52 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/compare.c +124 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/convert.c +75 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/data.h +323 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/fromstr.c +30 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/hash.c +162 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/short.c +94 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/size.c +13 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/raw/type2string.c +54 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/object/tree/frompath.c +75 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/loose.c +84 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/loose_data.h +522 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/pack_data.h +151 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/packed.c +78 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/odb/sorting.c +71 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/getters.c +68 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/init.c +104 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/repo/open.c +54 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/status/single.c +38 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/status/status_data.h +48 -0
- data/ext/rugged/vendor/libgit2-dist/tests-clay/status/worktree.c +124 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t00-core.c +628 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t01-data.h +322 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t01-rawobj.c +638 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t03-data.h +344 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t03-objwrite.c +255 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t04-commit.c +788 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t05-revwalk.c +140 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t06-index.c +219 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t07-hashtable.c +192 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t08-tag.c +357 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t09-tree.c +221 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t10-refs.c +1294 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t12-repo.c +174 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t13-threads.c +41 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t17-bufs.c +61 -0
- data/ext/rugged/vendor/libgit2-dist/tests/t18-status.c +448 -0
- data/ext/rugged/vendor/libgit2-dist/tests/test_helpers.c +310 -0
- data/ext/rugged/vendor/libgit2-dist/tests/test_helpers.h +83 -0
- data/ext/rugged/vendor/libgit2-dist/tests/test_lib.c +198 -0
- data/ext/rugged/vendor/libgit2-dist/tests/test_lib.h +54 -0
- data/ext/rugged/vendor/libgit2-dist/tests/test_main.c +89 -0
- data/lib/rugged.rb +4 -3
- data/lib/rugged/index.rb +0 -8
- data/lib/rugged/objects.rb +45 -0
- data/lib/rugged/repository.rb +29 -0
- data/lib/rugged/tree.rb +16 -6
- data/lib/rugged/version.rb +1 -1
- data/lib/rugged/walker.rb +5 -0
- data/test/blob_test.rb +18 -14
- data/test/commit_test.rb +28 -26
- data/test/coverage/HEAD.json +1 -0
- data/test/coverage/cover.rb +106 -0
- data/test/fixtures/testrepo.git/refs/heads/new_name +1 -0
- data/test/index_test.rb +101 -78
- data/test/lib_test.rb +4 -4
- data/test/object_test.rb +3 -3
- data/test/reference_test.rb +75 -0
- data/test/remote_test.rb +19 -0
- data/test/repo_pack_test.rb +4 -4
- data/test/repo_test.rb +44 -15
- data/test/tag_test.rb +7 -17
- data/test/test_helper.rb +24 -5
- data/test/tree_test.rb +30 -12
- data/test/walker_test.rb +40 -31
- metadata +273 -50
- data/lib/rugged/person.rb +0 -20
- data/lib/rugged/tree_entry.rb +0 -9
- data/test/fixtures/testrepo.git/objects/1d/83f106355e4309a293e42ad2a2c4b8bdbe77ae +0 -0
- data/test/fixtures/testrepo.git/objects/2f/3321418db5b2a841375b8b70880a8ab5a4148f +0 -0
- data/test/fixtures/testrepo.git/objects/36/9b00a7700cca3a506d79e301d6ad8bf735d9ee +0 -3
- data/test/fixtures/testrepo.git/objects/3d/b1b5ceace59ff65279757003763046fd4cbbe6 +0 -0
- data/test/fixtures/testrepo.git/objects/4c/d1604907792e2c43e03dcec1216f99d63e68c4 +0 -3
- data/test/fixtures/testrepo.git/objects/e0/f46d77041c149296549b01ed4a18b02c4b7400 +0 -0
@@ -0,0 +1,144 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (C) 2009-2011 the libgit2 contributors
|
3
|
+
*
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
6
|
+
*/
|
7
|
+
#ifndef INCLUDE_git_errors_h__
|
8
|
+
#define INCLUDE_git_errors_h__
|
9
|
+
|
10
|
+
#include "common.h"
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @file git2/errors.h
|
14
|
+
* @brief Git error handling routines and variables
|
15
|
+
* @ingroup Git
|
16
|
+
* @{
|
17
|
+
*/
|
18
|
+
GIT_BEGIN_DECL
|
19
|
+
|
20
|
+
typedef enum {
|
21
|
+
GIT_SUCCESS = 0,
|
22
|
+
GIT_ERROR = -1,
|
23
|
+
|
24
|
+
/** Input was not a properly formatted Git object id. */
|
25
|
+
GIT_ENOTOID = -2,
|
26
|
+
|
27
|
+
/** Input does not exist in the scope searched. */
|
28
|
+
GIT_ENOTFOUND = -3,
|
29
|
+
|
30
|
+
/** Not enough space available. */
|
31
|
+
GIT_ENOMEM = -4,
|
32
|
+
|
33
|
+
/** Consult the OS error information. */
|
34
|
+
GIT_EOSERR = -5,
|
35
|
+
|
36
|
+
/** The specified object is of invalid type */
|
37
|
+
GIT_EOBJTYPE = -6,
|
38
|
+
|
39
|
+
/** The specified repository is invalid */
|
40
|
+
GIT_ENOTAREPO = -7,
|
41
|
+
|
42
|
+
/** The object type is invalid or doesn't match */
|
43
|
+
GIT_EINVALIDTYPE = -8,
|
44
|
+
|
45
|
+
/** The object cannot be written because it's missing internal data */
|
46
|
+
GIT_EMISSINGOBJDATA = -9,
|
47
|
+
|
48
|
+
/** The packfile for the ODB is corrupted */
|
49
|
+
GIT_EPACKCORRUPTED = -10,
|
50
|
+
|
51
|
+
/** Failed to acquire or release a file lock */
|
52
|
+
GIT_EFLOCKFAIL = -11,
|
53
|
+
|
54
|
+
/** The Z library failed to inflate/deflate an object's data */
|
55
|
+
GIT_EZLIB = -12,
|
56
|
+
|
57
|
+
/** The queried object is currently busy */
|
58
|
+
GIT_EBUSY = -13,
|
59
|
+
|
60
|
+
/** The index file is not backed up by an existing repository */
|
61
|
+
GIT_EBAREINDEX = -14,
|
62
|
+
|
63
|
+
/** The name of the reference is not valid */
|
64
|
+
GIT_EINVALIDREFNAME = -15,
|
65
|
+
|
66
|
+
/** The specified reference has its data corrupted */
|
67
|
+
GIT_EREFCORRUPTED = -16,
|
68
|
+
|
69
|
+
/** The specified symbolic reference is too deeply nested */
|
70
|
+
GIT_ETOONESTEDSYMREF = -17,
|
71
|
+
|
72
|
+
/** The pack-refs file is either corrupted or its format is not currently supported */
|
73
|
+
GIT_EPACKEDREFSCORRUPTED = -18,
|
74
|
+
|
75
|
+
/** The path is invalid */
|
76
|
+
GIT_EINVALIDPATH = -19,
|
77
|
+
|
78
|
+
/** The revision walker is empty; there are no more commits left to iterate */
|
79
|
+
GIT_EREVWALKOVER = -20,
|
80
|
+
|
81
|
+
/** The state of the reference is not valid */
|
82
|
+
GIT_EINVALIDREFSTATE = -21,
|
83
|
+
|
84
|
+
/** This feature has not been implemented yet */
|
85
|
+
GIT_ENOTIMPLEMENTED = -22,
|
86
|
+
|
87
|
+
/** A reference with this name already exists */
|
88
|
+
GIT_EEXISTS = -23,
|
89
|
+
|
90
|
+
/** The given integer literal is too large to be parsed */
|
91
|
+
GIT_EOVERFLOW = -24,
|
92
|
+
|
93
|
+
/** The given literal is not a valid number */
|
94
|
+
GIT_ENOTNUM = -25,
|
95
|
+
|
96
|
+
/** Streaming error */
|
97
|
+
GIT_ESTREAM = -26,
|
98
|
+
|
99
|
+
/** invalid arguments to function */
|
100
|
+
GIT_EINVALIDARGS = -27,
|
101
|
+
|
102
|
+
/** The specified object has its data corrupted */
|
103
|
+
GIT_EOBJCORRUPTED = -28,
|
104
|
+
|
105
|
+
/** The given short oid is ambiguous */
|
106
|
+
GIT_EAMBIGUOUSOIDPREFIX = -29,
|
107
|
+
|
108
|
+
/** Skip and passthrough the given ODB backend */
|
109
|
+
GIT_EPASSTHROUGH = -30,
|
110
|
+
|
111
|
+
/** The path pattern and string did not match */
|
112
|
+
GIT_ENOMATCH = -31,
|
113
|
+
|
114
|
+
/** The buffer is too short to satisfy the request */
|
115
|
+
GIT_ESHORTBUFFER = -32,
|
116
|
+
} git_error;
|
117
|
+
|
118
|
+
/**
|
119
|
+
* Return a detailed error string with the latest error
|
120
|
+
* that occurred in the library.
|
121
|
+
* @return a string explaining the error
|
122
|
+
*/
|
123
|
+
GIT_EXTERN(const char *) git_lasterror(void);
|
124
|
+
|
125
|
+
/**
|
126
|
+
* strerror() for the Git library
|
127
|
+
*
|
128
|
+
* Get a string description for a given error code.
|
129
|
+
* NOTE: This method will be eventually deprecated in favor
|
130
|
+
* of the new `git_lasterror`.
|
131
|
+
*
|
132
|
+
* @param num The error code to explain
|
133
|
+
* @return a string explaining the error code
|
134
|
+
*/
|
135
|
+
GIT_EXTERN(const char *) git_strerror(int num);
|
136
|
+
|
137
|
+
/**
|
138
|
+
* Clear the latest library error
|
139
|
+
*/
|
140
|
+
GIT_EXTERN(void) git_clearerror(void);
|
141
|
+
|
142
|
+
/** @} */
|
143
|
+
GIT_END_DECL
|
144
|
+
#endif
|
@@ -0,0 +1,306 @@
|
|
1
|
+
/*
|
2
|
+
* Copyright (C) 2009-2011 the libgit2 contributors
|
3
|
+
*
|
4
|
+
* This file is part of libgit2, distributed under the GNU GPL v2 with
|
5
|
+
* a Linking Exception. For full terms see the included COPYING file.
|
6
|
+
*/
|
7
|
+
#ifndef INCLUDE_git_index_h__
|
8
|
+
#define INCLUDE_git_index_h__
|
9
|
+
|
10
|
+
#include "common.h"
|
11
|
+
#include "types.h"
|
12
|
+
#include "oid.h"
|
13
|
+
|
14
|
+
/**
|
15
|
+
* @file git2/index.h
|
16
|
+
* @brief Git index parsing and manipulation routines
|
17
|
+
* @defgroup git_index Git index parsing and manipulation routines
|
18
|
+
* @ingroup Git
|
19
|
+
* @{
|
20
|
+
*/
|
21
|
+
GIT_BEGIN_DECL
|
22
|
+
|
23
|
+
#define GIT_IDXENTRY_NAMEMASK (0x0fff)
|
24
|
+
#define GIT_IDXENTRY_STAGEMASK (0x3000)
|
25
|
+
#define GIT_IDXENTRY_EXTENDED (0x4000)
|
26
|
+
#define GIT_IDXENTRY_VALID (0x8000)
|
27
|
+
#define GIT_IDXENTRY_STAGESHIFT 12
|
28
|
+
|
29
|
+
/*
|
30
|
+
* Flags are divided into two parts: in-memory flags and
|
31
|
+
* on-disk ones. Flags in GIT_IDXENTRY_EXTENDED_FLAGS
|
32
|
+
* will get saved on-disk.
|
33
|
+
*
|
34
|
+
* In-memory only flags:
|
35
|
+
*/
|
36
|
+
#define GIT_IDXENTRY_UPDATE (1 << 0)
|
37
|
+
#define GIT_IDXENTRY_REMOVE (1 << 1)
|
38
|
+
#define GIT_IDXENTRY_UPTODATE (1 << 2)
|
39
|
+
#define GIT_IDXENTRY_ADDED (1 << 3)
|
40
|
+
|
41
|
+
#define GIT_IDXENTRY_HASHED (1 << 4)
|
42
|
+
#define GIT_IDXENTRY_UNHASHED (1 << 5)
|
43
|
+
#define GIT_IDXENTRY_WT_REMOVE (1 << 6) /* remove in work directory */
|
44
|
+
#define GIT_IDXENTRY_CONFLICTED (1 << 7)
|
45
|
+
|
46
|
+
#define GIT_IDXENTRY_UNPACKED (1 << 8)
|
47
|
+
#define GIT_IDXENTRY_NEW_SKIP_WORKTREE (1 << 9)
|
48
|
+
|
49
|
+
/*
|
50
|
+
* Extended on-disk flags:
|
51
|
+
*/
|
52
|
+
#define GIT_IDXENTRY_INTENT_TO_ADD (1 << 13)
|
53
|
+
#define GIT_IDXENTRY_SKIP_WORKTREE (1 << 14)
|
54
|
+
/* GIT_IDXENTRY_EXTENDED2 is for future extension */
|
55
|
+
#define GIT_IDXENTRY_EXTENDED2 (1 << 15)
|
56
|
+
|
57
|
+
#define GIT_IDXENTRY_EXTENDED_FLAGS (GIT_IDXENTRY_INTENT_TO_ADD | GIT_IDXENTRY_SKIP_WORKTREE)
|
58
|
+
|
59
|
+
/** Time used in a git index entry */
|
60
|
+
typedef struct {
|
61
|
+
git_time_t seconds;
|
62
|
+
/* nsec should not be stored as time_t compatible */
|
63
|
+
unsigned int nanoseconds;
|
64
|
+
} git_index_time;
|
65
|
+
|
66
|
+
/** Memory representation of a file entry in the index. */
|
67
|
+
typedef struct git_index_entry {
|
68
|
+
git_index_time ctime;
|
69
|
+
git_index_time mtime;
|
70
|
+
|
71
|
+
unsigned int dev;
|
72
|
+
unsigned int ino;
|
73
|
+
unsigned int mode;
|
74
|
+
unsigned int uid;
|
75
|
+
unsigned int gid;
|
76
|
+
git_off_t file_size;
|
77
|
+
|
78
|
+
git_oid oid;
|
79
|
+
|
80
|
+
unsigned short flags;
|
81
|
+
unsigned short flags_extended;
|
82
|
+
|
83
|
+
char *path;
|
84
|
+
} git_index_entry;
|
85
|
+
|
86
|
+
/** Representation of an unmerged file entry in the index. */
|
87
|
+
typedef struct git_index_entry_unmerged {
|
88
|
+
unsigned int mode[3];
|
89
|
+
git_oid oid[3];
|
90
|
+
char *path;
|
91
|
+
} git_index_entry_unmerged;
|
92
|
+
|
93
|
+
/**
|
94
|
+
* Create a new bare Git index object as a memory representation
|
95
|
+
* of the Git index file in 'index_path', without a repository
|
96
|
+
* to back it.
|
97
|
+
*
|
98
|
+
* Since there is no ODB or working directory behind this index,
|
99
|
+
* any Index methods which rely on these (e.g. index_add) will
|
100
|
+
* fail with the GIT_EBAREINDEX error code.
|
101
|
+
*
|
102
|
+
* If you need to access the index of an actual repository,
|
103
|
+
* use the `git_repository_index` wrapper.
|
104
|
+
*
|
105
|
+
* The index must be freed once it's no longer in use.
|
106
|
+
*
|
107
|
+
* @param index the pointer for the new index
|
108
|
+
* @param index_path the path to the index file in disk
|
109
|
+
* @return GIT_SUCCESS or an error code
|
110
|
+
*/
|
111
|
+
GIT_EXTERN(int) git_index_open(git_index **index, const char *index_path);
|
112
|
+
|
113
|
+
/**
|
114
|
+
* Clear the contents (all the entries) of an index object.
|
115
|
+
* This clears the index object in memory; changes must be manually
|
116
|
+
* written to disk for them to take effect.
|
117
|
+
*
|
118
|
+
* @param index an existing index object
|
119
|
+
*/
|
120
|
+
GIT_EXTERN(void) git_index_clear(git_index *index);
|
121
|
+
|
122
|
+
/**
|
123
|
+
* Free an existing index object.
|
124
|
+
*
|
125
|
+
* @param index an existing index object
|
126
|
+
*/
|
127
|
+
GIT_EXTERN(void) git_index_free(git_index *index);
|
128
|
+
|
129
|
+
/**
|
130
|
+
* Update the contents of an existing index object in memory
|
131
|
+
* by reading from the hard disk.
|
132
|
+
*
|
133
|
+
* @param index an existing index object
|
134
|
+
* @return GIT_SUCCESS or an error code
|
135
|
+
*/
|
136
|
+
GIT_EXTERN(int) git_index_read(git_index *index);
|
137
|
+
|
138
|
+
/**
|
139
|
+
* Write an existing index object from memory back to disk
|
140
|
+
* using an atomic file lock.
|
141
|
+
*
|
142
|
+
* @param index an existing index object
|
143
|
+
* @return GIT_SUCCESS or an error code
|
144
|
+
*/
|
145
|
+
GIT_EXTERN(int) git_index_write(git_index *index);
|
146
|
+
|
147
|
+
/**
|
148
|
+
* Find the first index of any entries which point to given
|
149
|
+
* path in the Git index.
|
150
|
+
*
|
151
|
+
* @param index an existing index object
|
152
|
+
* @param path path to search
|
153
|
+
* @return an index >= 0 if found, -1 otherwise
|
154
|
+
*/
|
155
|
+
GIT_EXTERN(int) git_index_find(git_index *index, const char *path);
|
156
|
+
|
157
|
+
/**
|
158
|
+
* Remove all entries with equal path except last added
|
159
|
+
*
|
160
|
+
* @param index an existing index object
|
161
|
+
*/
|
162
|
+
GIT_EXTERN(void) git_index_uniq(git_index *index);
|
163
|
+
|
164
|
+
/**
|
165
|
+
* Add or update an index entry from a file in disk
|
166
|
+
*
|
167
|
+
* The file `path` must be relative to the repository's
|
168
|
+
* working folder and must be readable.
|
169
|
+
*
|
170
|
+
* This method will fail in bare index instances.
|
171
|
+
*
|
172
|
+
* @param index an existing index object
|
173
|
+
* @param path filename to add
|
174
|
+
* @param stage stage for the entry
|
175
|
+
* @return GIT_SUCCESS or an error code
|
176
|
+
*/
|
177
|
+
GIT_EXTERN(int) git_index_add(git_index *index, const char *path, int stage);
|
178
|
+
|
179
|
+
/**
|
180
|
+
* Add or update an index entry from an in-memory struct
|
181
|
+
*
|
182
|
+
* A full copy (including the 'path' string) of the given
|
183
|
+
* 'source_entry' will be inserted on the index.
|
184
|
+
*
|
185
|
+
* @param index an existing index object
|
186
|
+
* @param source_entry new entry object
|
187
|
+
* @return GIT_SUCCESS or an error code
|
188
|
+
*/
|
189
|
+
GIT_EXTERN(int) git_index_add2(git_index *index, const git_index_entry *source_entry);
|
190
|
+
|
191
|
+
/**
|
192
|
+
* Add (append) an index entry from a file in disk
|
193
|
+
*
|
194
|
+
* A new entry will always be inserted into the index;
|
195
|
+
* if the index already contains an entry for such
|
196
|
+
* path, the old entry will **not** be replaced.
|
197
|
+
*
|
198
|
+
* The file `path` must be relative to the repository's
|
199
|
+
* working folder and must be readable.
|
200
|
+
*
|
201
|
+
* This method will fail in bare index instances.
|
202
|
+
*
|
203
|
+
* @param index an existing index object
|
204
|
+
* @param path filename to add
|
205
|
+
* @param stage stage for the entry
|
206
|
+
* @return GIT_SUCCESS or an error code
|
207
|
+
*/
|
208
|
+
GIT_EXTERN(int) git_index_append(git_index *index, const char *path, int stage);
|
209
|
+
|
210
|
+
/**
|
211
|
+
* Add (append) an index entry from an in-memory struct
|
212
|
+
*
|
213
|
+
* A new entry will always be inserted into the index;
|
214
|
+
* if the index already contains an entry for the path
|
215
|
+
* in the `entry` struct, the old entry will **not** be
|
216
|
+
* replaced.
|
217
|
+
*
|
218
|
+
* A full copy (including the 'path' string) of the given
|
219
|
+
* 'source_entry' will be inserted on the index.
|
220
|
+
*
|
221
|
+
* @param index an existing index object
|
222
|
+
* @param source_entry new entry object
|
223
|
+
* @return GIT_SUCCESS or an error code
|
224
|
+
*/
|
225
|
+
GIT_EXTERN(int) git_index_append2(git_index *index, const git_index_entry *source_entry);
|
226
|
+
|
227
|
+
/**
|
228
|
+
* Remove an entry from the index
|
229
|
+
*
|
230
|
+
* @param index an existing index object
|
231
|
+
* @param position position of the entry to remove
|
232
|
+
* @return GIT_SUCCESS or an error code
|
233
|
+
*/
|
234
|
+
GIT_EXTERN(int) git_index_remove(git_index *index, int position);
|
235
|
+
|
236
|
+
|
237
|
+
/**
|
238
|
+
* Get a pointer to one of the entries in the index
|
239
|
+
*
|
240
|
+
* This entry can be modified, and the changes will be written
|
241
|
+
* back to disk on the next write() call.
|
242
|
+
*
|
243
|
+
* The entry should not be freed by the caller.
|
244
|
+
*
|
245
|
+
* @param index an existing index object
|
246
|
+
* @param n the position of the entry
|
247
|
+
* @return a pointer to the entry; NULL if out of bounds
|
248
|
+
*/
|
249
|
+
GIT_EXTERN(git_index_entry *) git_index_get(git_index *index, unsigned int n);
|
250
|
+
|
251
|
+
/**
|
252
|
+
* Get the count of entries currently in the index
|
253
|
+
*
|
254
|
+
* @param index an existing index object
|
255
|
+
* @return integer of count of current entries
|
256
|
+
*/
|
257
|
+
GIT_EXTERN(unsigned int) git_index_entrycount(git_index *index);
|
258
|
+
|
259
|
+
/**
|
260
|
+
* Get the count of unmerged entries currently in the index
|
261
|
+
*
|
262
|
+
* @param index an existing index object
|
263
|
+
* @return integer of count of current unmerged entries
|
264
|
+
*/
|
265
|
+
GIT_EXTERN(unsigned int) git_index_entrycount_unmerged(git_index *index);
|
266
|
+
|
267
|
+
/**
|
268
|
+
* Get an unmerged entry from the index.
|
269
|
+
*
|
270
|
+
* The returned entry is read-only and should not be modified
|
271
|
+
* of freed by the caller.
|
272
|
+
*
|
273
|
+
* @param index an existing index object
|
274
|
+
* @param path path to search
|
275
|
+
* @return the unmerged entry; NULL if not found
|
276
|
+
*/
|
277
|
+
GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged_bypath(git_index *index, const char *path);
|
278
|
+
|
279
|
+
/**
|
280
|
+
* Get an unmerged entry from the index.
|
281
|
+
*
|
282
|
+
* The returned entry is read-only and should not be modified
|
283
|
+
* of freed by the caller.
|
284
|
+
*
|
285
|
+
* @param index an existing index object
|
286
|
+
* @param n the position of the entry
|
287
|
+
* @return a pointer to the unmerged entry; NULL if out of bounds
|
288
|
+
*/
|
289
|
+
GIT_EXTERN(const git_index_entry_unmerged *) git_index_get_unmerged_byindex(git_index *index, unsigned int n);
|
290
|
+
|
291
|
+
/**
|
292
|
+
* Return the stage number from a git index entry
|
293
|
+
*
|
294
|
+
* This entry is calculated from the entrie's flag
|
295
|
+
* attribute like this:
|
296
|
+
*
|
297
|
+
* (entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT
|
298
|
+
*
|
299
|
+
* @param entry The entry
|
300
|
+
* @returns the stage number
|
301
|
+
*/
|
302
|
+
GIT_EXTERN(int) git_index_entry_stage(const git_index_entry *entry);
|
303
|
+
|
304
|
+
/** @} */
|
305
|
+
GIT_END_DECL
|
306
|
+
#endif
|