Log

Author Commit Date CI Message
nulltoken e16c2f6a 2011-01-20T19:51:34 Small enhancements to git_prettify_dir_path(). - Secured buffer ahead reading. - Guard against potential multiple dot path traversal (cf http://cwe.mitre.org/data/definitions/33.html)
Vicent Marti e08b246c 2011-01-19T17:20:39 Fix signed/unsigned comparison warning Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti b5e567b9 2011-01-19T17:15:02 Merge branch 'dir-path-prettifying' of https://github.com/nulltoken/libgit2
Vicent Marti ec3c7a16 2011-01-13T04:54:14 Add new Repository initialization method Lets the user specify the ODB that will be used by the repository manually. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti c5846fbf 2011-01-13T04:34:23 Fix typo on Commit API Proper function is 'git_commit_time_offset'. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti e52e38d3 2011-01-12T01:42:07 Move the compat definitions to types.h Don't need a brand new header for two typedefs when we already have a types.h header. Change comment style to ANSI C. Signed-off-by: Vicent Marti <tanoku@gmail.com>
nulltoken 170d3f2f 2011-01-11T20:12:53 Added git_prettify_dir_path(). Clean up a provided absolute or relative directory path. This prettification relies on basic operations such as coalescing multiple forward slashes into a single slash, removing '.' and './' current directory segments, and removing parent directory whenever '..' is encountered. If not empty, the returned path ends with a forward slash. For instance, this will turn "d1/s1///s2/..//../s3" into "d1/s3/". This only performs a string based analysis of the path. No checks are done to make sure the path actually makes sense from the file system perspective.
Alex Budovski f0bde7fa 2011-01-11T16:07:45 Revised platform types to use 'best supported' size. This will allow graceful migration to 64 bit file sizes and timestamps should git's binary interface be extended to allow this.
Alex Budovski e0c23b88 2011-01-11T17:50:37 Remove unused variable.
Alex Budovski 0a3bcad0 2011-01-10T14:57:06 Fix Windows build with forced bit truncation. Windows uses a 64 bit time_t by default and assigning to unsigned int causes a 64 -> 32 bit truncation warning. This change forces the truncation, acknowledging the implications detailed in the file comments. Also, blobs are limited to 32 bit file sizes for the same reason (on all platforms).
Vicent Marti 073fa812 2011-01-10T05:01:38 Use generic types in git_index_entry Off_t is not cool. It can be 32 or 64 bits depending on the platform, but on the Index format, it's always 32 bits. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 0740b462 2011-01-08T22:24:28 Merge branch 'master' of https://github.com/Neopallium/libgit2
Alex Budovski a17777d1 2011-01-07T11:35:43 Fixed two buffer handling errors in vector.c - remove() would read one-past array bounds. - resize() would fail if the initial size was 1, because it multiplied by 1.75 and truncated the resulting value. The buffer would always remain at size 1, but elements would repeatedly be appended (via insert()) causing a crash.
Alex Budovski 9ace34c8 2011-01-07T12:07:15 Revised build configuration for MSVC. Major changes and rationale: - /WX: absolutely vital when compiling in C-mode as the compiler is incredibly lenient on what is allowed to compile. It allows functions to be called without prototypes declared, treating them as functions returning int taking an unspecified (read: unrestricted) list of arguments, without any type checking! It will simply issue a warning, which is easily overlooked. A real example: it will allow you to call ceil(1.75) without first including <math.h> causing UB, returning bogus results like 1023 on the machine I tested on. - Release build separate from debug. Presently release builds don't exist. Consequently they are completely untested. Many bugs may only manifest themselves in release mode. The current configuration sets debug-only flags like /RTC1 which are incompatible with optimization (/O2). In addition, the Windows build of libgit2 has no optimized version. This change resolves this. - Added checksum generation in image headers. This is so debuggers don't complain about checksum mismatches and provides a small amount of consistency to binaries.
Vicent Marti 6f9024a7 2011-01-08T21:54:14 Add Delphi bindings to the readme Signed-off-by: Vicent Marti <tanoku@gmail.com>
Scott Chacon e04c7095 2011-01-08T08:02:19 added links to php and lua bindings
Robert G. Jakabosky 4b64c37f 2011-01-08T02:22:22 Fixed memory leak in git_commit__free().
Vicent Marti 2645053b 2011-01-04T01:17:07 Find proper path to 'ldconfig' on wscript Don't hardcode the '/sbin/ldconfig' path; also, don't run anything if ldconfig cannot be found (Mac OS X, for instance). Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti e52ed7a5 2011-01-03T22:34:27 Split object methods from repository.c All the relevant git_object methods have been moved to object.c Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti fb3cd6bc 2011-01-03T21:46:18 Make internal methods static Keep all the repository init code as static. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti d5f25204 2011-01-03T21:37:14 Merge branch 'repo-init' of https://github.com/nulltoken/libgit2 into nulltoken-repo-init
Vicent Marti e0646b38 2010-12-30T00:31:58 Add generic hash function to util.c It's MurmurHash3 slightly edited to make it cross-platform. Fast and neat. Use this for hashing strings on hash tables instead of a full SHA1 hash. It's very fast and well distributed. Obviously not crypto-secure. Signed-off-by: Vicent Marti <tanoku@gmail.com>
nulltoken 951d06e4 2010-12-26T17:00:35 Fixed placement of pointer argument.
nulltoken 98e3b298 2010-12-23T09:22:15 Merge branch 'master' into repo-init
Vicent Marti 51035184 2010-12-23T01:00:40 Prevent test manifests from being run The test runner was running the manifest and other crap files. Now it filters out to just the executables. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti e6c8966d 2010-12-23T00:49:34 Merge branch 'call-ldconfig-on-unix' of https://github.com/marvil07/libgit2
Vicent Marti f4649655 2010-12-23T00:48:35 Merge branch 'waf-pkgconfig-typo' of https://github.com/marvil07/libgit2
Vicent Marti e035685f 2010-12-23T00:44:41 Revert "Properly export all external symbols in Win32" It is not a good idea to export these internal symbols now that they are not required to run the unit tests. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti e7379f33 2010-12-23T00:43:07 Link tests with the raw objects Fix the test building issues once for all; each test is linked with the raw objects of the library, not with any compiled version. That way we make sure the tests always run, and are always linked with the latest and most up-to-date version of the code. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 9f54fe48 2010-12-23T00:15:09 Remove git_errno It was not being used by any methods (only by malloc and calloc), and since it needs to be TLS, it cannot be exported on DLLs on Windows. Burn it with fire. The API always returns error codes! Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 11f6646f 2010-12-22T22:51:24 Export TLS symbols properly in Win32 There was no export definition for GIT_EXTERN_TLS() under MSVC. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 2a18a792 2010-12-22T22:43:39 Properly export all external symbols in Win32 Some external functions were not being exported because they were using the 'extern' keyword instead of the generic GIT_EXTERN() macro. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 0847dff5 2010-12-22T21:57:48 Fix test builds in Win32 Use forward slashes for the TEST_RESOURCES definition. libgit2 uses only forward slashes. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Marco Villegas a58e6a5f 2010-12-22T13:39:13 Run ldconfig on install at unix platforms.
Marco Villegas bd6eb230 2010-12-22T04:02:18 minor: Let waf write the right values for prefix and libdir at pkg-config file.
nulltoken 2c08c3f0 2010-12-21T06:52:07 Made is_windows_rooted_path() able to cope with awkward but valid relative paths such as "C:..\File.txt". Path "C:..\File.txt" refers to a file called File.txt located in the parent directory of the current directory on drive C:.
nulltoken 23a1edbd 2010-12-21T05:43:47 Wrapped the detection of a Windows rooted path within a conditional compilation directive.
nulltoken f2d6a23a 2010-12-21T05:21:33 Small code maintenability improvement.
nulltoken 8ea2c83b 2010-12-20T16:46:13 Added creation of 'objects/info' and 'objects/pack' directories.
nulltoken 2e29957a 2010-12-20T10:56:32 Made gitfo_mkdir_recurs() skip creation of the root of the path if it looks like a Windows drive.
nulltoken 412de9a6 2010-12-20T10:43:23 Made gitfo_mkdir_recurs() gracefully recover when a given directory already exists.
Vicent Marti 40c44d2f 2010-12-19T22:50:20 Fix issues in repository initialization Implemented recursive directory creation Fix style issues Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti fe93dabe 2010-12-19T21:30:15 Merge branch 'repo-init' of https://github.com/nulltoken/libgit2 into nulltoken-repo-init
nulltoken 1c2c7c0d 2010-12-19T15:08:53 Added creation of ref/heads/ and refs/tags/ directories.
nulltoken 8ea7fbc0 2010-12-18T22:27:26 Fixed a nasty bug which was preventing correct generation of the signature.
Vicent Marti f70cbbc5 2010-12-18T03:16:04 Link tests with shared library, not static Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti b5ced41e 2010-12-18T02:35:45 Merge branch 'timezone'
Vicent Marti 638c2ca4 2010-12-18T02:10:25 Rename 'git_person' to 'git_signature' The new signature struct is public, and contains information about the timezone offset. Must be free'd manually by the user. Signed-off-by: Vicent Marti <tanoku@gmail.com>
nulltoken 28990938 2010-12-17T20:03:20 Prettified HEAD symlink generation.
nulltoken d13e7e02 2010-12-17T15:58:30 Added a comment reminding that the gitfo_mkdir_recurs() is far from being fully implemented.
nulltoken e1f8cad0 2010-12-17T14:45:02 Added basic HEAD file creation.
nulltoken f0b2bfe5 2010-12-17T14:24:47 Made gitfo_mkdir_recurs() more tolerant. Doesn't err any more when the directory already exists.
nulltoken a67a096a 2010-12-17T10:41:56 Added creation of 'objects' and 'refs' directories.
nulltoken 58fcfc26 2010-12-17T10:36:58 Removed unnecessary git_repository_init_results handling.
nulltoken 1a5204a7 2010-12-17T10:08:01 Added gitfo_mkdir_recurs() placeholder.
nulltoken 08190e2a 2010-12-16T14:31:24 Simplified git_repository_init_results struct.
nulltoken 4b8e27c8 2010-12-15T18:25:15 Very first git_repository_init() draft.
Vicent Marti 1f080e2d 2010-12-13T03:43:56 Fix initialization & freeing of inexistent repos Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 5cccfa89 2010-12-12T00:33:57 Merge branch 'timezone-offset' of https://github.com/nulltoken/libgit2 into timezone
Vicent Marti e0d9e12e 2010-12-12T00:01:26 Update README.md Add info on libgit2sharp, new build system, and usage guide. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 2619dee4 2010-12-11T23:39:24 Remove the Visual Studio 2010 solution Users can automatically generate one for their system using CMake. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Peter Drahoš bfe0658e 2010-12-10T13:29:31 Update install info and test resource path handling
Peter Drahos 5b8bb8e7 2010-12-07T00:54:33 Minor modifications for MinGW/Cygwin compatibility.
Peter Drahoš 64840082 2010-12-05T18:38:06 Fix case sensitivity issue.
Peter Drahoš 032db4d0 2010-12-07T03:33:43 Reflect the recent changes in header organization (CMake)
Peter Drahoš 73c46d53 2010-12-05T18:25:48 Add basic testing support and options to specify install paths
Peter Drahoš 7cbdaf7f 2010-12-05T14:51:10 Add option to select sha1 type in CMake build
Peter Drahoš ec821ca6 2010-12-04T17:41:04 Update README.md
Peter Drahoš 583cf169 2010-12-04T17:31:53 Add optional CMake build script.
nulltoken b76d984e 2010-12-11T16:20:57 Added more person parsing tests.
nulltoken 5a386e4d 2010-12-11T15:50:07 Added timezone checks to person parsing tests.
nulltoken 7161beb1 2010-12-11T15:38:22 Fixed too much faked timezone offset. An offset of more than 14 hours makes no sense (cf. http://www.worldtimezone.com/faq.html).
nulltoken fee065a0 2010-12-11T15:34:37 Made possible to parse a person with no specified timezone offset.
nulltoken 13710f1e 2010-12-10T16:30:06 Added timezone offset parsing and outputting.
Vicent Marti 2cd6d686 2010-12-10T05:53:39 Tests now run with the resources folder as a hardcoded path Each tests expects a "TEST_RESOURCES" define with the full path to the resources folder. Signed-off-by: Vicent Marti <tanoku@gmail.com>
nulltoken 6c14d641 2010-12-09T20:55:54 Fixed a memory leak in git_repository_lookup() when provided git_otype is invalid.
Vicent Marti 9de351b2 2010-12-09T23:06:02 Move documentation generation to the Waf system The new command is './waf doxygen' Signed-off-by: Vicent Marti <tanoku@gmail.com>
Scott Chacon 635cacc6 2010-12-08T10:10:48 fix doxygen setup and automate generation rakefile for some common tasks and doxygen needs to look in the new place for headers
Vicent Marti 4eec2c0d 2010-12-07T03:55:46 Set short message when changing a commit's message Yes, finally. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti a44fc1d4 2010-12-06T23:13:00 Fix type-conversion warnings The types in the git_index_entry struct are now system-defaults, and get truncated to uint32_t's when written back on the index. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti f5918330 2010-12-06T23:08:31 Add license file to all public headers Yes, the public headers do need our license. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 44908fe7 2010-12-06T23:03:16 Change the library include file Libgit2 is now officially include as #include "<git2.h>" or indidividual files may be included as #include <git2/index.h> Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti d12299fe 2010-12-03T22:22:10 Change include structure for the project The maze with include dependencies has been fixed. There is now a global include: #include <git.h> The git_odb_backend API has been exposed. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 7d7cd885 2010-12-03T18:01:30 Decouple storage from ODB logic Comes with two default backends: loose object and packfiles. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 86bfec39 2010-12-06T01:13:09 Revert changes in odb.c to eventually rebase The odb.c will disappear after the decoupling changes. Signed-off-by: Vicent Marti <tanoku@gmail.com>
nulltoken 6f02c3ba 2010-12-05T20:18:56 Small source code readability improvements. Replaced magic number "0" with GIT_SUCCESS constant wherever it made sense.
nulltoken d3e2dd5e 2010-12-04T14:04:12 Fixed .gitignore typo.
nulltoken 02286c33 2010-12-04T13:58:06 Added reference to "src/vector.c" to the Visual Studio solution in order to cope with tanoku's latest refactorings.
nulltoken 0d2eb2d8 2010-12-04T13:25:29 Added some patterns to .gitignore file to filter out some Visual Studio specifics.
Vicent Marti 654cd5ff 2010-12-02T21:50:28 Fix segfault in t0603 (unitialized pointer) Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 59995558 2010-12-02T21:48:03 Fix segfault handler in Mac OS X Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 691aa968 2010-12-02T18:35:38 Add 'git_repository_open2' to customize repo folders Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti eec95235 2010-12-02T04:58:22 Commit parents now use the common 'vector' code No more linked lists, no more O(n) access. Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 41109a7e 2010-12-02T04:42:33 Merge branch 'commitparents' of https://github.com/JustinLove/libgit2 into JustinLove-commitparents
Vicent Marti c4034e63 2010-12-02T04:31:54 Refactor all 'vector' functions into common code All the operations on the 'git_index_entry' array and the 'git_tree_entry' array have been refactored into common code in the src/vector.c file. The new vector methods support: - insertion: O(1) (avg) - deletion: O(n) - searching: O(logn) - sorting: O(logn) - r. access: O(1) Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 1e35f929 2010-12-02T04:19:14 Add stack trace to the tests when building with GCC Signed-off-by: Vicent Marti <tanoku@gmail.com>
Justin Love eb095435 2010-11-30T21:28:39 add git_commit_parent to retrieve a parent by index
Justin Love 12114415 2010-11-30T21:01:47 add git_commit_parentcount
Vicent Marti 8c1f9e4d 2010-11-29T18:07:17 Make the bitmasks for Index Entry flags public Signed-off-by: Vicent Marti <tanoku@gmail.com>
Vicent Marti 91e88941 2010-11-29T18:06:22 Properly write Index Entry 'flags_extended' Always write the 'flags_extended' attribute to disk if it's available. Signed-off-by: Vicent Marti <tanoku@gmail.com>