Robert G. Jakabosky
4b64c37f68
Fixed memory leak in git_commit__free().
2011-01-08 02:22:22 -08:00
Vicent Marti
e52ed7a559
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>
2011-01-03 22:34:27 +02:00
Vicent Marti
fb3cd6bca4
Make internal methods static
...
Keep all the repository init code as static.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2011-01-03 21:46:18 +02:00
Vicent Marti
d5f2520413
Merge branch 'repo-init' of https://github.com/nulltoken/libgit2 into nulltoken-repo-init
2011-01-03 21:41:19 +02:00
Vicent Marti
e0646b38c7
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>
2010-12-30 00:31:58 +02:00
nulltoken
951d06e4e9
Fixed placement of pointer argument.
2010-12-26 17:00:35 +01:00
nulltoken
98e3b29895
Merge branch 'master' into repo-init
2010-12-23 09:22:15 +01:00
Vicent Marti
e035685f27
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>
2010-12-23 00:44:41 +02:00
Vicent Marti
9f54fe482d
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>
2010-12-23 00:15:09 +02:00
Vicent Marti
11f6646f03
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>
2010-12-22 22:51:24 +02:00
Vicent Marti
2a18a792e3
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>
2010-12-22 22:43:39 +02:00
nulltoken
2c08c3f074
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:.
2010-12-21 06:52:07 +01:00
nulltoken
23a1edbd04
Wrapped the detection of a Windows rooted path within a conditional compilation directive.
2010-12-21 05:43:47 +01:00
nulltoken
f2d6a23aa6
Small code maintenability improvement.
2010-12-21 05:21:33 +01:00
nulltoken
8ea2c83b5d
Added creation of 'objects/info' and 'objects/pack' directories.
2010-12-20 16:46:13 +01:00
nulltoken
2e29957a79
Made gitfo_mkdir_recurs() skip creation of the root of the path if it looks like a Windows drive.
2010-12-20 10:56:32 +01:00
nulltoken
412de9a637
Made gitfo_mkdir_recurs() gracefully recover when a given directory already exists.
2010-12-20 10:43:23 +01:00
Vicent Marti
40c44d2fb6
Fix issues in repository initialization
...
Implemented recursive directory creation
Fix style issues
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-12-19 22:50:20 +02:00
Vicent Marti
fe93dabeef
Merge branch 'repo-init' of https://github.com/nulltoken/libgit2 into nulltoken-repo-init
2010-12-19 21:30:15 +02:00
nulltoken
1c2c7c0d16
Added creation of ref/heads/ and refs/tags/ directories.
2010-12-19 15:08:53 +01:00
nulltoken
8ea7fbc0cd
Fixed a nasty bug which was preventing correct generation of the signature.
2010-12-18 22:27:26 +01:00
Vicent Marti
b5ced41e85
Merge branch 'timezone'
2010-12-18 02:35:45 +02:00
Vicent Marti
638c2ca428
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>
2010-12-18 02:35:33 +02:00
nulltoken
2899093835
Prettified HEAD symlink generation.
2010-12-17 20:03:20 +01:00
nulltoken
d13e7e02a8
Added a comment reminding that the gitfo_mkdir_recurs() is far from being fully implemented.
2010-12-17 15:58:30 +01:00
nulltoken
e1f8cad0c9
Added basic HEAD file creation.
2010-12-17 14:45:02 +01:00
nulltoken
f0b2bfe527
Made gitfo_mkdir_recurs() more tolerant.
...
Doesn't err any more when the directory already exists.
2010-12-17 14:24:47 +01:00
nulltoken
a67a096a9e
Added creation of 'objects' and 'refs' directories.
2010-12-17 10:41:56 +01:00
nulltoken
58fcfc26e0
Removed unnecessary git_repository_init_results handling.
2010-12-17 10:36:58 +01:00
nulltoken
1a5204a788
Added gitfo_mkdir_recurs() placeholder.
2010-12-17 10:08:01 +01:00
nulltoken
08190e2ad1
Simplified git_repository_init_results struct.
2010-12-16 15:39:25 +01:00
nulltoken
4b8e27c81e
Very first git_repository_init() draft.
2010-12-15 18:25:15 +01:00
Vicent Marti
1f080e2da4
Fix initialization & freeing of inexistent repos
...
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-12-13 03:43:56 +02:00
nulltoken
fee065a069
Made possible to parse a person with no specified timezone offset.
2010-12-11 15:34:37 +01:00
nulltoken
13710f1e86
Added timezone offset parsing and outputting.
2010-12-10 16:30:06 +01:00
nulltoken
6c14d64123
Fixed a memory leak in git_repository_lookup() when provided git_otype is invalid.
2010-12-10 04:45:20 +02:00
Vicent Marti
4eec2c0d4a
Set short message when changing a commit's message
...
Yes, finally.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-12-07 03:55:46 +02:00
Vicent Marti
a44fc1d413
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>
2010-12-06 23:36:21 +02:00
Vicent Marti
f591833095
Add license file to all public headers
...
Yes, the public headers do need our license.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-12-06 23:08:31 +02:00
Vicent Marti
44908fe763
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>
2010-12-06 23:03:16 +02:00
Vicent Marti
d12299fe22
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>
2010-12-06 01:14:15 +02:00
Vicent Marti
7d7cd8857a
Decouple storage from ODB logic
...
Comes with two default backends: loose object and packfiles.
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-12-06 01:14:15 +02:00
Vicent Marti
86bfec39b5
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>
2010-12-06 01:13:09 +02:00
nulltoken
6f02c3bad8
Small source code readability improvements.
...
Replaced magic number "0" with GIT_SUCCESS constant wherever it made sense.
2010-12-05 20:18:56 +01:00
Vicent Marti
691aa96817
Add 'git_repository_open2' to customize repo folders
...
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-12-02 18:35:38 +02:00
Vicent Marti
eec9523513
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>
2010-12-02 04:58:22 +02:00
Vicent Marti
41109a7e7e
Merge branch 'commitparents' of https://github.com/JustinLove/libgit2 into JustinLove-commitparents
2010-12-02 04:42:33 +02:00
Vicent Marti
c4034e63f3
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>
2010-12-02 04:31:54 +02:00
Justin Love
eb095435f3
add git_commit_parent to retrieve a parent by index
2010-11-30 21:28:39 -06:00
Justin Love
12114415ab
add git_commit_parentcount
2010-11-30 21:27:12 -06:00