Commit Graph

272 Commits

Author SHA1 Message Date
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
Vicent Marti
8c1f9e4dc3 Make the bitmasks for Index Entry flags public
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-29 18:07:17 +02:00
Vicent Marti
91e8894150 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>
2010-11-29 18:06:22 +02:00
Vicent Marti
25e9b4dd44 Do proper symbol exports on MSVC
Yes, if you are wondering why the shared library was
failing to build under MSVC, it's because it was empty.

Oh wow.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-24 17:56:35 +02:00
Vicent Marti
322086f9b1 Do not use STDINT types in public headers
Old versions of MSVC don't have such types available.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-24 17:56:30 +02:00
Vicent Marti
824f4acde2 Fix redeclaration warnings in MSVC
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-24 00:23:15 +02:00
Vicent Marti
8b0e448f5c Removed unreachable code (MSVC warning) 2010-11-24 00:23:15 +02:00
Vicent Marti
43e380a88c Fix gitfo_isdir() in Win32 systems
Because adhering to the POSIX standards is overrated.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-24 00:23:15 +02:00
Vicent Marti
6b1eab3976 Fix MSVC warnings and errors
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-24 00:23:15 +02:00
Vicent Marti
30b171a185 Change blob API to return temp refs to the content
If the user wants permanent references, he can duplicate the temporary
one manually.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-20 17:37:32 +02:00
Vicent Marti
69a09b7c69 Fix wrong pointer check in git__strdup
Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-19 17:17:46 +02:00
Vicent Marti
c3dd69a9e1 Fix resizing the index array
No longer segfaults when resizing an empty array.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-17 05:16:32 +02:00
Vicent Marti
50dd6ca54c Fix repository initialization
We cannot assume that non-bare repositories have an index file, because
'git index' doesn't create it by default.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-17 05:16:26 +02:00
Vicent Marti
111e362263 Fix freeing blob objects from the ODB
The internal contents of the blob were being free'd but not the blob
object itself.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-16 03:24:39 +02:00
Vicent Marti
c3a20d5cab Add support for 'index add'
Actually add files to the index by creating their corresponding blob and
storing it on the repository, then getting the hash and updating the
index file.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-16 02:59:28 +02:00
Vicent Marti
7a3924fc38 Fix overcomplicated return statement
Note to self: don't be stupid

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-16 02:59:24 +02:00
Vicent Marti
237da40181 Add support for blob files
Blob files can now be loaded from the repository like all the other base
Git types.

Signed-off-by: Vicent Marti <tanoku@gmail.com>
2010-11-16 02:59:13 +02:00