{"ref":"refs/heads/development","push_id":54637638,"commits":[{"sha":"a6c0e4d2028966c73525de020d4e500f272dfadf","author":{"email":"5c2a3aceccd8e4113da9a6e4300e530dcd2bb52d@gmail.com","name":"nulltoken"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/a6c0e4d2028966c73525de020d4e500f272dfadf","message":"Fix minor indentation issues"},{"sha":"34aff0100248dbf349240fd8edff4cc440062b40","author":{"email":"5c2a3aceccd8e4113da9a6e4300e530dcd2bb52d@gmail.com","name":"nulltoken"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/34aff0100248dbf349240fd8edff4cc440062b40","message":"oid: Add git_oid_streq() which checks if an oid and an hex formatted string are equal"},{"sha":"3fa735ca3b8d8f855e43be44b5f96e59909d50e1","author":{"email":"5c2a3aceccd8e4113da9a6e4300e530dcd2bb52d@gmail.com","name":"nulltoken"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/3fa735ca3b8d8f855e43be44b5f96e59909d50e1","message":"tree: Add git_tree_frompath() which, given a relative path to a tree entry, retrieves the tree object containing this tree entry"},{"sha":"b7e1dd1603def3bce370d7d3fa03778999623033","author":{"email":"6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","name":"Vicent Martí"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/b7e1dd1603def3bce370d7d3fa03778999623033","message":"Merge pull request #448 from nulltoken/ntk/topic/treeentry-random-access\n\nAdd git_tree_frompath()"},{"sha":"7fcddeb68b5135c1be1482c898f3155e242304a6","author":{"email":"3c20699bf59ae8b1e807513902576ed4e93882d8@gmail.com","name":"Hargobind S. Khalsa"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/7fcddeb68b5135c1be1482c898f3155e242304a6","message":"Update Makefile.embed with http-parser dependency"},{"sha":"d42eff03443090dddc128ca50c45eaa3b46f3aa9","author":{"email":"3c20699bf59ae8b1e807513902576ed4e93882d8@gmail.com","name":"Hargobind S. Khalsa"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/d42eff03443090dddc128ca50c45eaa3b46f3aa9","message":"Add src/transports to Makefile sources"},{"sha":"1776f5ab495a5748e28685da1f6da1c298cb0273","author":{"email":"6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","name":"Vicent Martí"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/1776f5ab495a5748e28685da1f6da1c298cb0273","message":"Merge pull request #457 from khalsah/makefile-fix\n\nUpdate Makefile.embed with http-parser dependency"},{"sha":"33127043b3ef8dd8dd695ba3613eaa104a80a56b","author":{"email":"c78f9af6ea39f9f5e51a9fb76d67577b5fd26aec@bitheap.org","name":"Brodie Rao"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/33127043b3ef8dd8dd695ba3613eaa104a80a56b","message":"fileops/posix: replace usage of \"int mode\" with \"mode_t mode\"\n\nNote: Functions exported from fileops take const mode_t, while the\nunderlying POSIX wrappers take mode_t."},{"sha":"ce8cd006ce3adcd012a38401b8a7555ba3307b3f","author":{"email":"c78f9af6ea39f9f5e51a9fb76d67577b5fd26aec@bitheap.org","name":"Brodie Rao"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/ce8cd006ce3adcd012a38401b8a7555ba3307b3f","message":"fileops/repository: create (most) directories with 0777 permissions\n\nTo further match how Git behaves, this change makes most of the\ndirectories libgit2 creates in a git repo have a file mode of\n0777. Specifically:\n\n- Intermediate directories created with git_futils_mkpath2file() have\n  0777 permissions. This affects odb_loose, reflog, and refs.\n\n- The top level folder for bare repos is created with 0777\n  permissions.\n\n- The top level folder for non-bare repos is created with 0755\n  permissions.\n\n- /objects/info/, /objects/pack/, /refs/heads/, and /refs/tags/ are\n  created with 0777 permissions.\n\nAdditionally, the following changes have been made:\n\n- fileops functions that create intermediate directories have grown a\n  new dirmode parameter. The only exception to this is filebuf's\n  lock_file(), which unconditionally creates intermediate directories\n  with 0777 permissions when GIT_FILEBUF_FORCE is set.\n\n- The test runner now sets the umask to 0 before running any\n  tests. This ensurses all file mode checks are consistent across\n  systems.\n\n- t09-tree.c now does a directory permissions check. I've avoided\n  adding this check to other tests that might reuse existing\n  directories from the prefabricated test repos. Because they're\n  checked into the repo, they have 0755 permissions.\n\n- Other assorted directories created by tests have 0777 permissions."},{"sha":"01ad7b3a9ec8f5e465f94c2704e1e96b84f941c7","author":{"email":"c78f9af6ea39f9f5e51a9fb76d67577b5fd26aec@bitheap.org","name":"Brodie Rao"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/01ad7b3a9ec8f5e465f94c2704e1e96b84f941c7","message":"*: correct and codify various file permissions\n\nThe following files now have 0444 permissions:\n\n- loose objects\n- pack indexes\n- pack files\n- packs downloaded by fetch\n- packs downloaded by the HTTP transport\n\nAnd the following files now have 0666 permissions:\n\n- config files\n- repository indexes\n- reflogs\n- refs\n\nThis brings libgit2 more in line with Git.\n\nNote that git_filebuf_commit() and git_filebuf_commit_at() have both\ngained a new mode parameter.\n\nThe latter change fixes an important issue where filebufs created with\nGIT_FILEBUF_TEMPORARY received 0600 permissions (due to mkstemp(3)\nusage). Now we chmod() the file before renaming it into place.\n\nTests have been added to confirm that new commit, tag, and tree\nobjects are created with the right permissions. I don't have access to\nWindows, so for now I've guarded the tests with \"#ifndef GIT_WIN32\"."},{"sha":"252840a59f09a62bd358c90593724af36a703161","author":{"email":"c78f9af6ea39f9f5e51a9fb76d67577b5fd26aec@bitheap.org","name":"Brodie Rao"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/252840a59f09a62bd358c90593724af36a703161","message":"tests: propagate errors from open_temp_repo() instead of exiting\n\nThis makes it slightly easier to debug test failures when one test\nopens a repo, has a failure, and doesn't get a chance to close it for\nthe next test. Now, instead of getting no feedback, we at least see\ntest failure information."},{"sha":"a014a083d9010e7f1ad0a00e6b48b75d6616edde","author":{"email":"6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","name":"Vicent Martí"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/a014a083d9010e7f1ad0a00e6b48b75d6616edde","message":"Merge pull request #459 from brodie/test-improvements\n\ntests: propagate errors from open_temp_repo() instead of exiting"},{"sha":"5fa1bed0f7da8959f561c49fba6975812f80546a","author":{"email":"ab5e2bca84933118bbc9d48ffaccce3bac4eeb64@cmartin.tk","name":"Carlos Martín Nieto"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/5fa1bed0f7da8959f561c49fba6975812f80546a","message":"mwindow: close LRU window properly\n\nRemove a wrong call to git_mwindow_close which caused a segfault if it\never did run. In that same piece of code, if the LRU was from the\nfirst wiindow in the list in a different file, we didn't update that\nlist, so the first element had been freed.\n\nFix these two issues.\n\nSigned-off-by: Carlos Martín Nieto <carlos@cmartin.tk>"},{"sha":"8cf2de078def3820a3a3208496ba705df28aad15","author":{"email":"6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","name":"Vicent Marti"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/8cf2de078def3820a3a3208496ba705df28aad15","message":"tree: Fix lookups by entry name"},{"sha":"28c1451a7c863cb89d598c03d53c4e73497e4c83","author":{"email":"6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","name":"Vicent Marti"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/28c1451a7c863cb89d598c03d53c4e73497e4c83","message":"tree: Fix name lookups once and for all\n\nDouble-pass binary search. Jeez."},{"sha":"4ce16ed82f658e242ffa91ce0abf98dfe45a04ad","author":{"email":"ab5e2bca84933118bbc9d48ffaccce3bac4eeb64@cmartin.tk","name":"Carlos Martín Nieto"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/4ce16ed82f658e242ffa91ce0abf98dfe45a04ad","message":"CMake: use -O0 in debug mode\n\nOtherwise, GCC optimizes variables away and gdb can't tell us what's\nin them.\n\nSigned-off-by: Carlos Martín Nieto <carlos@cmartin.tk>"},{"sha":"c51065e3e9f150fc7284d8a890f16e4076aeb948","author":{"email":"b8a1e8f67d794d434e39ac861aa8eebd82c0e7fb@gmail.com","name":"Roberto Tyley"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/c51065e3e9f150fc7284d8a890f16e4076aeb948","message":"Tolerate zlib deflation with window size < 32Kb\n\nlibgit2 currently identifies loose objects as corrupt if they've been\ndeflated using a window size less than 32Kb, because the\nis_zlib_compressed_data() function doesn't recognise the header\nbyte as a zlib header. This patch makes the method tolerant of\nall valid window sizes (15-bit to 8-bit) - but doesn't sacrifice\nit's accuracy in distingushing the standard loose-object format\nfrom the experimental (now abandoned) format. It's based on a patch\nwhich has been merged into C-Git master branch:\n\nhttps://github.com/git/git/commit/7f684a2aff636f44a506\n\nOn memory constrained systems zlib may use a much smaller window\nsize - working on Agit, I found that Android uses a 4KB window;\ngiving a header byte of 0x48, not 0x78. Consequently all loose\nobjects generated by the Android platform appear 'corrupt' :(\n\nIt might appear that this patch changes isStandardFormat() to the\npoint where it could incorrectly identify the experimental format as\nthe standard one, but the two criteria (bitmask & checksum) can only\ngive a false result for an experimental object where both of the\nfollowing are true:\n\n1) object size is exactly 8 bytes when uncompressed (bitmask)\n2) [single-byte in-pack git type&size header] * 256\n   + [1st byte of the following zlib header] % 31 = 0 (checksum)\n\nAs it happens, for all possible combinations of valid object type\n(1-4) and window bits (0-7), the only time when the checksum will be\ndivisible by 31 is for 0x1838 - ie object type *1*, a Commit - which,\ndue the fields all Commit objects must contain, could never be as\nsmall as 8 bytes in size.\n\nGiven this, the combination of the two criteria (bitmask & checksum)\nalways correctly determines the buffer format, and is more tolerant\nthan the previous version.\n\nReferences:\n\nAndroid uses a 4KB window for deflation:\nhttp://android.git.kernel.org/?p=platform/libcore.git;a=blob;f=luni/src/main/native/java_util_zip_Deflater.cpp;h=c0b2feff196e63a7b85d97cf9ae5bb258\n\nCode snippet searching for false positives with the zlib checksum:\nhttps://gist.github.com/1118177\n\nChange-Id: Ifd84cd2bd6b46f087c9984fb4cbd8309f483dec0"},{"sha":"c2fbe423465e1fa02a7e681f6b4aaee877e3de03","author":{"email":"6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","name":"Vicent Martí"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/c2fbe423465e1fa02a7e681f6b4aaee877e3de03","message":"Merge pull request #464 from rtyley/development\n\nTolerate zlib deflation with window size < 32Kb"},{"sha":"9ff46db9111ba77bd4c209f1014028a6bfc60c4a","author":{"email":"90bd52136ce4791fcc41c69bf9bb6c7db1f385bd@schulog.org","name":"schu"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/9ff46db9111ba77bd4c209f1014028a6bfc60c4a","message":"tests-clay: move t01-rawobj.c to clay\n\nSigned-off-by: schu <schu-github@schulog.org>"},{"sha":"11d51ca63184b760e2537bbe08c5ca4c63bd4854","author":{"email":"6838a7c51796da15c3e6eae80ee6aba806e8818a@gmail.com","name":"Vicent Marti"},"url":"https://api.github.com/repos/kellypleahy/libgit2/commits/11d51ca63184b760e2537bbe08c5ca4c63bd4854","message":"windows: Add support for non-UTF codepages\n\nOur previous assumption that all paths in Windows are encoded in UTF-8\nis rather weak, specially when considering that Git is\nencoding-agnostic.\n\nThese set of functions allow the user to change the library's active\ncodepage globally, so it is possible to access paths and files on all\ninternational versions of Windows.\n\nNote that the default encoding here is UTF-8 because we assume that 99%\nof all Git repositories will be in UTF-8.\n\nAlso, if you use non-ascii characters in paths, anywhere, please burn on\na fire."}],"head":"be00b00dd1468f1c625ca3fadc61f2a16edfb8d5","size":150}