Log

Author Commit Date CI Message
Russell Belfer 85bd1746 2012-08-22T16:03:35 Some cleanup suggested during review This cleans up a number of items suggested during code review with @vmg, including: * renaming "outside repo" config API to `git_config_open_default` * killing the `git_config_open_global` API * removing the `git_` prefix from the static functions in fileops * removing some unnecessary functionality from the "cp" command
Russell Belfer b769e936 2012-08-01T14:49:47 Don't reference stack vars in cleanup callback If you use the clar cleanup callback function, you can't pass a reference pointer to a stack allocated variable because when the cleanup function runs, the stack won't exist anymore.
Russell Belfer ca1b6e54 2012-07-31T17:02:54 Add template dir and set gid to repo init This extends git_repository_init_ext further with support for initializing the repository from an external template directory and with support for the "create shared" type flags that make a set GID repository directory. This also adds tests for much of the new functionality to the existing `repo/init.c` test suite. Also, this adds a bunch of new utility functions including a very general purpose `git_futils_mkdir` (with the ability to make paths and to chmod the paths post-creation) and a file tree copying function `git_futils_cp_r`. Also, this includes some new path functions that were useful to keep the code simple.
Russell Belfer 0e26202c 2012-08-01T14:30:08 fix missing validation and type cast warning
Russell Belfer 662880ca 2012-07-26T16:07:01 Add git_repository_init_ext for power initters The extended version of repository init adds support for many of the things that you can do with `git init` and sets up structures that will make it easier to extend further in the future.
Russell Belfer 5fdc41e7 2012-08-22T13:57:57 Minor bug fixes in diff code In looking at PR #878, I found a few small bugs in the diff code, mostly related to work that can be avoided when processing tree- to-tree diffs that was always being carried out. This commit has some small fixes in it.
Vicent Martí cfda29e3 2012-08-22T13:15:14 Merge pull request #891 from arrbee/internal-ignore-api API for managing in-memory ignore rules
Russell Belfer 2fb4e9b3 2012-08-22T11:42:00 Wrap up ignore API and add tests This fills out the ignore API and adds tests.
Russell Belfer f004c4a8 2012-08-21T17:26:39 Add public API for internal ignores This creates a public API for adding to the internal ignores list, which already existing but was not accessible. This adds the new default value for core.excludesfile also.
Vicent Martí 697665c0 2012-08-21T14:32:09 Merge pull request #889 from nulltoken/filemode-enum Filemode enum
nulltoken 9d7ac675 2012-08-21T11:45:16 tree entry: rename git_tree_entry_attributes() into git_tree_entry_filemode()
nulltoken a7dbac0b 2012-08-17T21:10:32 filemode: deploy enum usage
nulltoken d854d59e 2012-08-17T21:15:32 filemode: introduce enum to ease use of attributes
Ben Straub b2be351a 2012-08-21T10:10:32 Win32: test core.autocrlf
Ben Straub c3588142 2012-08-20T20:24:20 Tests: close file handles before asserting Avoids getting ERROR_SHARING_VIOLATION on win32 and killing the entire clar run.
Vicent Martí 5c27da1f 2012-08-20T12:10:23 Merge pull request #884 from carlosmn/global-windows Make the memory-window conrol structures global
Carlos Martín Nieto 8cef828d 2012-08-18T22:11:49 Make the memory-window conrol structures global Up to now, the idea was that the user would do all the operations for one repository in the same thread. Thus we could have the memory-mapped window information thread-local and avoid any locking. This is not practical in a few environments, such as Apple's GCD which allocates threads arbitrarily or the .NET CLR, where the OS-level thread can change at any moment. Make the control structure global and protect it with a mutex so we don't depend on the thread currently executing the code.
Vicent Martí 6cb64ce3 2012-08-19T15:12:43 Merge pull request #879 from nulltoken/deprecated-mode Handling of 100664 deprecated mode in tree entries
nulltoken 66439b0b 2012-08-17T11:21:49 treebuilder: enhance attributes handling on insertion
nulltoken a7e3bd9b 2012-08-16T11:53:24 Add deprecated-mode.git test repository
Vicent Martí f98c32f3 2012-08-19T01:26:06 Merge pull request #778 from ben/clone Clone
Vicent Martí 1a10fded 2012-08-15T14:34:49 Merge pull request #877 from nulltoken/minor-fixes Minor fixes
nulltoken e0db9f11 2012-08-15T17:54:05 refs: fix missing parameter documentation
nulltoken 5fd17fc2 2012-08-15T17:50:02 notes: slight documentation enhancements
nulltoken 1a0537e4 2012-08-15T00:08:38 Fix compilation warning
Carlos Martín Nieto fc1826d1 2012-08-14T20:54:13 tests: fix tree walking test Return -1 to stop the iteration instead of not-0
Carlos Martín Nieto 85f28ba8 2012-08-14T11:43:20 Merge pull request #873 from carlosmn/tree-walk git_tree_walk callback return value semantic does not match documentation
Russell Belfer 3a6bc301 2012-08-14T11:30:18 Merge pull request #875 from arrbee/fix-message-prettify-length-check Fix message prettify length check
Russell Belfer 85a0e28b 2012-08-14T10:50:58 Make git_message_prettify return bytes written If you want to be absolutely safe with git_message_prettify, you can now pass a NULL pointer for the buffer and get back the number of bytes that would be copied into the buffer. This means that an error is a non-negative return code and a success will be greater than zero from this function.
Vicent Martí e08ca0d4 2012-08-13T21:04:27 Merge pull request #871 from joshtriplett/fix-note_foreach-docs git_note_foreach: Fix documentation for notes_ref parameter
Vicent Martí a6ee6201 2012-08-13T21:02:35 Merge pull request #870 from joshtriplett/fix-note_create-docs git_note_oid: Fix the documentation to reference parameters using the correct names
Vicent Martí 0374e6ab 2012-08-13T21:02:12 Merge pull request #872 from joshtriplett/fix-note_remove-docs git_note_create: Copyediting on documentation for the oid parameter
Vicent Martí b7916444 2012-08-13T21:01:24 Merge pull request #867 from joshtriplett/fix-array-size-for-git_config_get_mapped Fix incorrect array size in example for git_config_get_mapped
Vicent Martí c86dd38a 2012-08-13T20:56:28 Merge pull request #866 from arrbee/fix-config-file-parsing Config file parser includes = in name if no space around it
Carlos Martín Nieto a6bf1687 2012-08-13T14:07:47 tree: allow the user to skip an entry or cancel the walk Returning a negative cancels the walk, and returning a positive one causes us to skip an entry, which was previously done by a negative value. This allows us to stay consistent with the rest of the functions that take a callback and keeps the skipping functionality.
Carlos Martín Nieto 53ae1235 2012-08-13T14:00:53 tree: bring back the documented behaviour for a walk However, there should be a way to cancel the walk and another to skip the entry.
Russell Belfer 616c1433 2012-08-12T11:53:58 Clean up code Okay, this is probably cleaner and it is also less net change from the original version
Josh Triplett 39a60efd 2012-08-12T07:06:11 git_note_remove: Copyediting on documentation for the oid parameter
Russell Belfer fdc637c4 2012-08-12T09:08:45 Check prettify message output buffer after cleanup This makes the message prettify buffer length check accurate.
Russell Belfer a1ecddf0 2012-08-12T07:59:30 Fix config parser boundary logic The config file parser was not working right if there was no whitespace between the value name and the equals sign. This fixes that.
Josh Triplett d45ada03 2012-08-12T06:31:42 git_note_foreach: Fix documentation for notes_ref parameter
Josh Triplett 22408f4d 2012-08-12T05:53:30 git_note_oid: Fix the documentation to reference parameters using the correct names
Josh Triplett b90202bb 2012-08-12T03:56:15 Fix incorrect array size in example for git_config_get_mapped In the documentation for git_config_get_mapped, the sample mapping array uses [3] but has 4 entries. Fix by dropping the size entirely and letting the compiler figure it out.
Vicent Martí c9d78bde 2012-08-11T18:21:44 Merge pull request #863 from joshtriplett/export-git_attr_value Export git_attr_value
Josh Triplett 5389005d 2012-08-11T18:14:07 Export git_attr_value Commit 0c9eacf3d2c83256736a5bb2a240e73afd13d55f introduced the function git_attr_value and switched the GIT_ATTR_* macros to use it, but attempting to use that function leads to a linker error (undefined reference to `git_attr_value'). Export git_attr_value so programs can actually call it.
Michael Schubert 738837bd 2012-08-11T12:29:24 sha1: add missing header guards
Vicent Marti c07d9c95 2012-08-09T15:33:04 oid: Explicitly include `oid.h` for the inlined CMP
Russell Belfer d7b3dab9 2012-08-09T12:54:58 Merge pull request #861 from josh/parse-chomped-oid Parse ref oids without trailing newline
Joshua Peek de65f824 2012-08-09T14:47:58 Merge remote-tracking branch 'arrbee/rtrim-loose-refs' into parse-chomped-oid
Joshua Peek 186c054d 2012-08-09T14:47:29 Revert implementation changes
Joshua Peek 28e00681 2012-08-09T14:39:56 Ignore ref oid terminator
Joshua Peek e60af904 2012-08-09T14:39:43 Test trailing space after ref oid
Russell Belfer 2fe293b6 2012-08-09T11:36:21 trim whitespace when parsing loose refs
Joshua Peek 6ab68290 2012-08-09T12:39:09 Parse ref oids without trailing newline
Russell Belfer e4607392 2012-08-06T11:06:05 Fix iterator check and return value There is a little cleanup necessary from PR #843. Since the new callbacks return `GIT_EUSER` we have to be a little careful about return values when they are used internally to the library. Also, callbacks should be checked for non-zero return values, not just less than zero.
Ben Straub eb87800a 2012-08-06T09:34:17 Checkout: fix memory leak in tests.
Vicent Marti 81f73a87 2012-08-06T12:53:09 test: Open ODB on each test suite
Vicent Marti d8d28e2e 2012-08-06T12:44:23 remotes: Proper return for `git_remote_ls`
Vicent Marti 51e1d808 2012-08-06T12:41:08 Merge remote-tracking branch 'arrbee/tree-walk-fixes' into development Conflicts: src/notes.c src/transports/git.c src/transports/http.c src/transports/local.c tests-clar/odb/foreach.c
Michael Schubert 7e9f78b5 2012-08-04T15:22:38 remote: add missing include git2/remote.h Otherwise we get an incomplete type error, since git_remote_callbacks isn't declared yet.
Russell Belfer b0d37669 2012-08-03T17:24:59 Add new iteration behavior to git_tree_walk Missed this one, ironically enough.
Russell Belfer 5dca2010 2012-08-03T17:08:01 Update iterators for consistency across library This updates all the `foreach()` type functions across the library that take callbacks from the user to have a consistent behavior. The rules are: * A callback terminates the loop by returning any non-zero value * Once the callback returns non-zero, it will not be called again (i.e. the loop stops all iteration regardless of state) * If the callback returns non-zero, the parent fn returns GIT_EUSER * Although the parent returns GIT_EUSER, no error will be set in the library and `giterr_last()` will return NULL if called. This commit makes those changes across the library and adds tests for most of the iteration APIs to make sure that they follow the above rules.
Vicent Marti 5daca042 2012-08-03T01:01:21 filebuf: Check the return value for `close`
Carlos Martín Nieto d96c3863 2012-08-02T01:56:02 win32: set errno to ENOENT or ENOTDIR when appropriate in do_lstat
Vicent Marti e25dda51 2012-08-02T01:38:30 Merge remote-tracking branch 'nulltoken/topic/amd64-compat' into development Conflicts: src/netops.c src/netops.h src/oid.c
Vicent Martí 95a1d876 2012-08-01T16:31:00 Merge pull request #850 from libgit2/attr-export attr: Do not export variables externally
Vicent Marti 0ac349a9 2012-08-02T01:22:51 repository: Indentation
Vicent Martí e5f49501 2012-08-01T16:21:41 Merge pull request #848 from carlosmn/pending-message repository: add a getter and remove function for git's prepared message
Vicent Marti 0c9eacf3 2012-08-02T01:15:24 attr: Do not export variables externally Fixes #824 Exporting variables in a dynamic library is a PITA. Let's keep these values internally and wrap them through a helper method. This doesn't break the external API. @arrbee, aren't you glad I turned the `GIT_ATTR_` macros into function macros? :sparkles:
Vicent Martí cf81ded6 2012-08-01T15:18:03 Merge pull request #849 from scunz/git_caps Add function to query for compile time settings.
Ben Straub aa549d32 2012-08-01T15:09:05 Clean up a TODO comment.
Sascha Cunz e564e496 2012-08-01T20:02:32 Add function to query for compile time settings.
Carlos Martín Nieto 074841ec 2012-08-01T17:49:19 repository: add a getter and remove function for git's prepared message The 'git revert/cherry-pick/merge -n' commands leave .git/MERGE_MSG behind so that git-commit can find it. As we don't yet support these operations, users who are shelling out to let git perform these operations haven't had a convenient way to get this message. These functions allow the user to retrieve the message and remove it when she's created the commit.
Ben Straub 8b67f72b 2012-07-31T21:25:48 Add documentation for clone methods.
Ben Straub 5f4d2f9f 2012-07-31T19:49:19 Checkout: fix problem with detached HEAD.
Ben Straub 5280f4e6 2012-07-31T19:39:06 Add checkout.h to git2.h. Also correcting some documentation strings.
Ben Straub 78cd966a 2012-07-31T16:24:04 Checkout: fix crlf tests under win32.
Ben Straub e4bac3c4 2012-07-31T15:38:12 Checkout: crlf filter.
Ben Straub 8e4aae1a 2012-07-31T10:44:42 Checkout: handle file modes properly. Global file mode override now works properly with the file mode stored in the tree node.
Vicent Martí 2340b181 2012-07-31T10:19:30 Merge pull request #826 from carlosmn/config-find-error git_config_find_* does not set a git error
Vicent Martí 0565e7bd 2012-07-31T10:17:22 Merge pull request #837 from carlosmn/travis travis: be more idiomatic with the environment
Vicent Martí bfb59164 2012-07-31T10:16:21 Merge pull request #833 from carlosmn/odb-one odb: allow creating an ODB backend from a packfile index
Ben Straub 3f584b50 2012-07-31T09:01:11 Try to fix Travis.
Ben Straub 383fb799 2012-07-31T08:51:38 Rename example function to avoid name collision.
Ben Straub 7e02c7c5 2012-07-31T08:45:42 Checkout: save index on checkout.
Vicent Martí 577cd8ae 2012-07-30T16:17:35 Merge pull request #840 from carlosmn/remote-unify Unify the transport code
Ben Straub 4bf51156 2012-07-30T14:52:46 Enable stats on git_index_read_tree. Replace with the contents of git_index_read_tree_with_stats() and improve documentation comments.
Ben Straub 84595a30 2012-07-30T14:38:32 Add clone to the network example.
Ben Straub f1587b97 2012-07-30T14:37:40 Checkout: use git_index_read_tree_with_stats. New variant of git_index_read_tree that fills in the 'total' field of a git_indexer_stats struct as it's walking the tree.
Carlos Martín Nieto 0048372a 2012-07-27T01:09:06 transport: rename encrypt to use_ssl SSL isn't the only way that a transport can be encrypted. The new name will make it easier to merge the SSH support.
Carlos Martín Nieto 3e3228b6 2012-07-25T16:30:58 fetch: remove timeout code
Carlos Martín Nieto 8861d32f 2012-07-25T16:16:53 ssl: use the callback instead of ifs to determine how to get data Using the callbacks makes it clearer and reduces the amount of #ifdefs and ifs and we need in the code.
Carlos Martín Nieto ae789622 2012-07-25T10:52:20 examples: fix warnings in network/
Carlos Martín Nieto ad4b5beb 2012-07-25T10:40:59 transport: store the refs in a common area Instad of each transport having its own function and logic to get to its refs, store them directly in transport. Leverage the new gitno_buffer to make the parsing and storing of the refs use common code and get rid of the git_protocol struct.
Carlos Martín Nieto b49c8f71 2012-07-24T19:03:22 remote: use the same code to control git and http This allows us to add capabilitites to both at the same time, keeps them in sync and removes a lot of code. gitno_buffer now uses a callback to fill its buffer, allowing us to use the same interface for git and http (which uses callbacks).
Carlos Martín Nieto 114dc6e1 2012-07-24T17:10:57 network: implement multi_ack for the git transport
Carlos Martín Nieto 64d01de8 2012-07-24T14:23:16 remote: start moving the protocol to a common area For the transition, http is going to keep its own logic until the git/common code catches up with the implied multi_ack that http has. This also has the side-effect of making the code cleaner and more correct regardingt he protocol.
Russell Belfer 50364dd8 2012-07-29T22:30:01 Merge pull request #847 from schu/inline-oid-cmp git_oid_cmp: inline memcmp by hand to optimize
Michael Schubert f6b26e77 2012-07-27T10:53:09 git_oid_cmp: inline memcmp by hand to optimize git.git uses an inlined hashcmp function instead of memcmp, since it performes much better when comparing hashes (most hashes compared diverge within the first byte). Measurements and rationale for the curious reader: http://thread.gmane.org/gmane.comp.version-control.git/172286
Michael Schubert 6810ba08 2012-07-28T11:33:12 Fix -Wuninitialized warning