src


Log

Author Commit Date CI Message
Jakob Pfender fdd1e04c 2011-06-07T14:10:06 fileops: Allow differentiation between deep and shallow exists() When calling gitfo_exists() on a symbolic link, sometimes we need to simply check whether the link exists and sometimes we need to check whether the file pointed to by the symlink exists. Introduce a new function gitfo_shallow_exists that only checks if the link exists and revert gitfo_exists to the original functionality of checking whether the file pointed to by the link exists.
Jakob Pfender ee4912bf 2011-06-07T11:15:23 Revert "common: Include stat.h in include/git2/common.h instead of src/common.h" This reverts commit df1c98ab6d6171ed63729195bd190b54b67fe530. As 8a27b6b reverts the exposition of struct stat to the external API, we do not need - indeed, do not want - struct stat to be in the outer include layer.
Jakob Pfender b74c867a 2011-06-07T11:11:09 blob: Stat path inside git_blob_create_fromfile 00582bc introduced a change that required the caller of git_blob_create_fromfile() to pass a struct stat with the stat information for the file. Several developers pointed out that this would make life hard for the bindings developers as struct stat isn't widely supported by other languages. Make git_blob_create_fromfile() stat the path itself, eliminating the need for the file to be stat'ed by the caller. This makes index_init_entry() more costly as the file will be stat'ed twice but makes life easier for everyone else.
Jakob Pfender cbf4f9f4 2011-05-25T16:31:14 common: Include stat.h in include/git2/common.h instead of src/common.h 00582bcb introduced a change to git_blob_create_fromfile() that required the caller to pass a stat struct. This means that we need to include stat.h higher in the hierarchy of includes.
Jakob Pfender c1a2a14e 2011-05-25T16:16:41 index: Correctly write entry mode The entry mode flags for an entry created from a path name were not correctly written if the entry was a symlink. The st_mode of a statted symlink is 0120777, however git requires the mode to read 0120000, because it does not care about permissions of symlinks. Introduce index_create_mode() that correctly writes the mode flags in the form expected by git.
Jakob Pfender 1869b31e 2011-05-25T16:11:57 index/fileops: Correctly process symbolic links gitfo_exists() used to error out if the given file was a symbolic link, due to access() returning an error code. This is not expected behaviour, as gitfo_exists() should only check whether the file itself exists, not its link target if it is a symbolic link. Fix this by calling gitfo_lstat() instead, which is just a wrapper for lstat(). Also fix the same error in index_init_entry().
Jakob Pfender 4d7905c5 2011-05-25T16:04:29 blob: Require stat information for git_blob_create_fromfile() In order to be able to write symlinks with git_blob_create_fromfile(), we need to check whether the file to be written is a symbolic link or not. Since the calling function of git_blob_create_fromfile() is likely to have stated the file before calling, we make it pass the stat. The reason for this is that writing symbolic link blobs is significantly different from writing ordinary files - we do not want to open the link destination but instead want to write the link itself, regardless of whether it exists or not. Previously, index_init_entry() used to error out if the file to be added was a symlink that pointed to a nonexistent file. Fix this behaviour to add the file regardless of whether it exists. This mimics git.git's behaviour.
Vicent Martí 1097dacd 2011-06-06T18:33:38 Merge pull request #240 from Romain-Geissler/tree-object-type Tree: Added a function that returns the type of a tree entry.
Vicent Martí 1b0d92b1 2011-06-06T18:28:11 Merge pull request #238 from pegonma/git_oid_ncmp Better name for git_oid_match
Vicent Martí fe79750b 2011-06-06T18:27:29 Merge pull request #236 from Jopie64/development Fix build errors on MSVC
Vicent Martí 00c31dd2 2011-06-06T18:26:50 Merge pull request #234 from Romain-Geissler/entry-count-API-uniformisation [Tree | Index] API uniformisation
Vicent Martí 2c9e7fa3 2011-06-06T18:24:37 Merge pull request #232 from schu/ref-available-cb reference_rename: respect all references v2
Vicent Martí 7d170a4b 2011-06-06T18:11:15 Merge pull request #231 from Romain-Geissler/discovery-path-v2 [Discovery path] Fix and tests
Romain Geissler ff9a4c13 2011-06-06T17:14:30 Tree: Added a function that returns the type of a tree entry.
Marc Pegon c09093cc 2011-06-06T10:55:36 Renamed git_oid_match to git_oid_ncmp. As suggested by carlosmn, git_oid_ncmp would probably be a better name than git_oid_match, for it does the same as git_oid_cmp but only up to a certain amount of hex digits.
Romain Geissler c5d8745f 2011-06-06T10:55:54 Tree: Some more size_t to unsigned int type change.
Romain Geissler efcc87c9 2011-06-06T10:02:07 Repository: A little fix in error code. GIT_ENOTFOUND is returned when a gitfile is malformed and GIT_ENOTAREPO when the pointed dir is not a repo. Fixed tests so that it check the right error code.
Vicent Marti f9213015 2011-06-06T01:54:59 filebuf: Fix printf buffer overflows The filebuf was not being properly written after a flush. This should cut it now. Fixes #228
Vicent Marti 2b397327 2011-06-06T01:54:25 refs: Improve error messages
Romain Geissler 5ec05d07 2011-06-06T01:26:01 Repository: Fixed retrieve_device return type.
Johan 't Hart 393a9f9e 2011-06-06T00:33:23 Fix build errors on MSVC
Romain Geissler f11e0797 2011-06-05T21:19:03 Index: API uniformisation: Use unsigned int for all index number. Feature Added: Search an unmerged entry by path (git_index_get_unmerged renamed to git_index_get_unmerged_bypath) or by index (git_index_get_unmerged_byindex).
Romain Geissler e5c80097 2011-06-05T21:18:05 Tree: API uniformasation: Use unsigned int for all index number.
schu 76b15cb1 2011-06-05T20:47:30 Raise GIT_EEXISTS in case of conflicting ref names instead of passing the error returned by the subsystem; clarify error message. Fix tiny typo. Signed-off-by: schu <schu-github@schulog.org>
schu 1b6d8163 2011-06-05T19:22:32 Teach reference_rename() to really respect other references Add a new function reference_available() to check if a reference name actually is free and can be used. Signed-off-by: schu <schu-github@schulog.org>
Romain Geissler a993e4fe 2011-06-05T00:20:35 Fileops: Fixed gitfo_mkdir_recurs so that it proprely works with a path without trailing slash. It used to discard the last directory if the path didn't have a trailing slash.
Romain Geissler f2a60854 2011-06-05T00:18:34 Repository: Fixed the path returned by read_gitfile (remove trailing slashes)
Romain Geissler 8b05e780 2011-06-05T00:17:26 Repository: Fixed a bug in read_gitfile (proprely remove trailings newlines)
Vicent Marti 602ee38b 2011-06-04T20:44:14 repository: Export all internal paths
Romain Geissler 9d9bab5c 2011-06-04T16:28:39 Repository: Fixed some errors with ceiling_dirs in git_repository_discover. Now the ceiling_dirs are compared with their symbolic free version (like base_path). The ceiling dirs check is now performed after getting the parent directory.
Vicent Martí 793545ef 2011-06-03T17:41:53 Merge pull request #227 from Romain-Geissler/discovery-path-v2 Discovery path v2
Romain Geissler fd0574e5 2011-06-04T01:01:20 Repository: Added the git_repository_discover function that finds by itself the git directory that manage a given directory path.
Romain Geissler 222cf1d4 2011-06-04T00:14:37 Repository: Splitted the repository destructor into a helper part (only free directories path) and the complete public destructor.
Romain Geissler 6a01b6bd 2011-06-04T00:10:55 Repository: Added read_gitfile that allows you to read a .git file and extract the git directory path.
Romain Geissler f2e6b877 2011-06-03T23:44:38 Repository: Added some util functions that we'll need to discover repository path. retrieve_device returns the file device for a given path (so that we can detect device change while walking through parent directories). abspath returns a canonicalized path, symbolic link free. retrieive_ceiling_directories_offset returns the biggest path offset that path match in the ceiling directory list (so that we can stop at ceiling directories).
Romain Geissler 1549cba9 2011-06-03T21:18:24 Filebuf: Fixed a TODO in filebuf (real lock in lock_file) Added gitfo_creat_locked and gitfo_creat_locked_force
Vicent Marti 3a42e0a3 2011-06-03T21:38:55 index: Add `git_index_entry_stage` method As suggested by Romain-Geissler
Romain Geissler bc648491 2011-06-03T21:09:14 Fileops: Added gitfo_isfile. Conflicts: src/fileops.c
unknown 26a98ec8 2011-06-03T20:47:56 Fileops: Added a fourth argument to the path prettifying functions to use an alternate basepath. Fixed a Windows TO-DO in the prettifying functions.
unknown bb88da7f 2011-06-03T19:38:46 Sha1Lookup: Fixed two MSVC compilation warnings.
Vicent Marti 0291b5b7 2011-06-03T19:59:16 odb: Fix loading ODB alternates Fixed an issue with the `strtokz implementation and added support for comments and relative paths in the alternates file.
Romain Geissler 04fdc10d 2011-06-03T19:26:45 Fileops:retrieve_path_root_offset is now named gitfo_retrieve_path_root_offset (like other public functions). Added platform specific directory separator definition.
Vicent Martí 1e9b7a09 2011-06-02T15:12:37 Merge pull request #144 from nordsturm/fix_fakewstream Fix fake wstream write
Vicent Marti 7107b599 2011-06-02T01:03:52 odb-pack: More variable declarations
Vicent Marti 7b5fe049 2011-06-02T00:47:51 odb-pack: Do not declare variables mid-function
Vicent Marti fea400f8 2011-06-01T23:41:30 signature: Fix compilation
Vicent Marti d0323a5f 2011-06-01T21:25:56 short-oid: Cleanup
Marc Pegon aea8a638 2011-05-29T18:00:35 Implemented read_unique_short_oid method for loose backend.
Marc Pegon 6c8ca697 2011-05-29T17:57:25 Fixed some error messages related to searching objects from a short oid. Fixed forgot to check that prefix length is greater than minimum prefix length in read_unique_short_oid method from pack backend.
Marc Pegon 7d74cd44 2011-05-29T11:46:42 Deleted unused method git_cached_object_match, since we do not explore the cache when searching objects from a short oid.
Marc Pegon da03c9f3 2011-05-29T11:45:34 Changed return value of git_oid_match to be consistent with the other compare methods (0 means oids match). Added method to compare prefixes of hex formatted oids.
Marc Pegon ac2b94ad 2011-05-28T21:24:25 Added a GIT_OID_MINPREFIXLEN constant to define the minimum length allowed for oid prefixes (set to 4, like in git). Consequently updated some object lookup methods and their documentation.
Marc Pegon dd453c4d 2011-05-27T22:46:41 Added git.git sha1 lookup method to replace simple binary search in pack backend. Implemented find_unique_short_oid for pack backend, based on git sha1 lookup method; finding an object given its full oid is just a particular case of searching the unique object matching an oid prefix (short oid). Added git_odb_read_unique_short_oid, which iterates over all the backends to find and read the unique object matching the given oid prefix. Added a git_object_lookup_short_oid method to find the unique object in the repository matching a given oid prefix : it generalizes git_object_lookup which now does nothing but calls git_object_lookup_short_oid.
Marc Pegon 53c0bd81 2011-05-27T22:37:10 Added error for ambiguous oid prefixes. Added methods to compare the first nth hexadecimal characters (i.e. packets of 4 bits) of OIDs.
Marc Pegon ecd6fdf1 2011-05-27T18:49:09 Added a read_unique_short_oid method to backends, to make it possible to find objects from sha1 prefixes in the future. Default implementations throw GIT_ENOTIMPLEMENTED for strict prefixes (i.e. length < GIT_OID_HEXSZ).
Vicent Martí 4a51e998 2011-06-01T12:57:47 Merge pull request #224 from glesserd/tagparsing Fix tag and signature parsing
Vicent Martí dd8a2070 2011-06-01T12:54:15 Merge pull request #215 from schu/typos Fix typos
Vicent Martí a7fdce62 2011-06-01T12:53:16 Merge pull request #223 from carlosmn/valgrind Plug a leak in the index unmerged entries vector
Vicent Martí 9db04160 2011-06-01T12:52:50 Merge pull request #222 from carlosmn/config-bugfix Config bugfix
Vicent Martí 50b7334e 2011-06-01T09:58:21 Merge pull request #206 from nulltoken/topic/is-bare Add git_repository_is_bare() accessor
Vicent Marti 786ad84f 2011-06-01T18:51:54 index: Cleanup tree parsing
Carlos Martín Nieto a02fc2cd 2011-05-24T15:24:45 index: correctly parse invalidated TREE extensions A TREE extension with an entry count of -1 means that it was invalidated and we should ignore it. Do so instead of returning an error. This fixes issue #202 Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto cdd9fd47 2011-05-24T14:55:34 Allow read_tree_internal to return an error code There are two reasons why read_tree_internal might return a NULL tree. The first one is a corrupt index, but the second one is an invalidated TREE extension. Up to now, its only way to communicate with its caller was through the return value being NULL or not. Allow read_tree_internal to report its exit status independently from the tree pointer. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Vicent Marti f7e59c4d 2011-06-01T18:34:21 index: Change the memory management for repo indexes The `git_repository_index` call now returns a brand new index that must be manually free'd.
David Glesser fbfc7580 2011-05-31T18:38:59 Fix tag and signature parsing Before this commit, malformed tag and signature were considered as valid by the parser. See the test t3800-mktag.sh of git to see example of malformed tag and signature.
Carlos Martín Nieto c7e6e958 2011-05-31T17:44:55 Don't try to parse an empty config file Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 5892277c 2011-05-31T15:16:25 Config parse header ext: don't allow text after closing quote Nothing is allowed betwen the closing quotation mark and the ] so return an error if there is. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 7288d8b6 2011-05-31T15:11:49 Parse section header ext: don't leak on error Also free the subsection if we find too many quotes Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 7bc9e2aa 2011-05-31T15:06:22 Guard against double-freeing the current section If parse_section_header{,_ext} return an error, current_section doesn't get allocated. Set it to NULL after freeing so we don't try to free it again. This fixes part 2-2 of Issue #210. Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto f2abee47 2011-05-29T01:24:09 cfg_readline: really ignore empty lines Simplify cfg_readline and at the same time fix it so that it does really ignore empty lines. This fixes point 2-1 of Issue #210 Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto a5f43b95 2011-05-31T13:48:44 Config file open: don't free memory that doesn't belong to us On error, it would free the configuration object even though it didn't own that memory, which would cause a double-free. This fixes the first part of Issue #210 Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
Carlos Martín Nieto 71da57ae 2011-05-31T16:49:15 Plug a leak in the index unmerged entries vector Signed-off-by: Carlos Martín Nieto <cmn@elego.de>
schu f5a86fef 2011-05-29T17:44:14 gitfo_isdir: fix error message Signed-off-by: schu <schu-github@schulog.org>
nulltoken fa9bcd81 2011-05-24T21:48:07 Add git_repository_is_bare() accessor
nulltoken 3a1c4310 2011-05-24T18:55:35 Fix compilation warnings in MSVC This allows to successfully build libgit2 with waf on Windows.
Vicent Marti 8146fe7c 2011-05-23T21:41:13 index: Fix unused error messages
Jakob Pfender d320c52d 2011-05-19T15:59:18 index.c: Move to new error handling mechanism
Jakob Pfender ec9edd56 2011-05-19T15:46:36 config_file.c: Move to new error handling mechanism
Jakob Pfender a6d647d2 2011-05-19T15:37:10 win32/pthread.c: Move to new error handling mechanism
Jakob Pfender 7c8b597e 2011-05-19T15:36:09 win32/map.c: Move to new error handling mechanism
Jakob Pfender 450ac186 2011-05-19T15:29:22 unix/map.c: Move to new error handling mechanism
Jakob Pfender 57435a6d 2011-05-19T15:24:24 backends/sqlite.c: Move to new error handling mechanism
Jakob Pfender 43a0bc01 2011-05-19T15:17:06 backends/hiredis.c: Move to new error handling mechanism
Jakob Pfender 33b1d19e 2011-05-19T15:13:40 util.c: Move to new error handling mechanism
Jakob Pfender bc06a4ee 2011-05-19T15:10:54 tree.c: Move to new error handling mechanism
Jakob Pfender 6e34ee61 2011-05-19T15:07:41 tag.c: Move to new error handling mechanism
Jakob Pfender 00556496 2011-05-19T14:59:10 signature.c: Move to new error handling mechanism
Jakob Pfender c0cd9d50 2011-05-19T14:57:41 revwalk.c: Move to new error handling mechanism
Jakob Pfender 4f664a1b 2011-05-19T14:51:16 repository.c: Move to new error handling mechanism
Vicent Marti 0d5d5190 2011-05-23T21:37:48 refs: Reword errors
Jakob Pfender 5bdf7b9f 2011-05-19T14:36:52 refs.c: Move to new error handling mechanism
Jakob Pfender bea54842 2011-05-19T13:50:46 oid.c: Move to new error handling mechanism
Vicent Marti f84d9819 2011-05-23T21:14:58 odb_pack: Reword errors
Jakob Pfender 267d539f 2011-05-19T13:38:12 odb_pack.c: Move to new error handling mechanism
Vicent Marti 60e1b49a 2011-05-23T21:12:18 odb_loose: Reword errors
Jakob Pfender dfb12cd5 2011-05-19T12:28:46 odb_loose.c: Move to new error handling mechanism
Jakob Pfender f93f8ec5 2011-05-19T12:27:43 odb_loose.c: Return GIT_ENOMEM when allocation fails When trying to inflate a buffer, a GIT_ERROR was returned when malloc() failed. Fix this to return GIT_ENOMEM.
Vicent Marti 1e85d1aa 2011-05-23T21:09:07 odb: Reword errors
Jakob Pfender d3d5d86d 2011-05-18T12:35:08 odb.c: Move to new error handling mechanism
Vicent Marti 6623f5c9 2011-05-23T21:05:43 object: Reword errors