src


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 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.
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
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.
nulltoken 66439b0b 2012-08-17T11:21:49 treebuilder: enhance attributes handling on insertion
Vicent Martí f98c32f3 2012-08-19T01:26:06 Merge pull request #778 from ben/clone Clone
nulltoken 1a0537e4 2012-08-15T00:08:38 Fix compilation warning
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.
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
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.
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
Joshua Peek 186c054d 2012-08-09T14:47:29 Revert implementation changes
Joshua Peek 28e00681 2012-08-09T14:39:56 Ignore ref oid terminator
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.
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:
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 5f4d2f9f 2012-07-31T19:49:19 Checkout: fix problem with detached HEAD.
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í 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 7e02c7c5 2012-07-31T08:45:42 Checkout: save index on checkout.
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 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 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.
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
Ben Straub b31667fb 2012-07-27T20:29:06 Checkout: add head- and ref-centric checkouts. Renamed git_checkout_index to what it really was, and removed duplicate code from clone.c. Added git_checkout_ref, which updates HEAD and hands off to git_checkout_head. Added tests for the options the caller can pass to git_checkout_*.
Ben Straub 4d83399d 2012-07-27T11:55:58 Adjust for msvc pedantry.
Ben Straub b494cdbd 2012-07-27T11:50:32 Checkout: handle deeply-nested submodules better. Now creating intermediate directories where the submodule is deep, like "src/deps/foosubmodule".
Ben Straub 8a155a04 2012-07-27T11:49:34 Fix mismatched git_branch_create args.
Ben Straub 7affe23d 2012-07-27T11:23:44 Use new git_remote_update_tips signature.
Ben Straub a4827a5b 2012-07-27T11:17:21 Merge remote-tracking branch 'upstream/development' into test-merge
Vicent Martí 60d5cc57 2012-07-27T09:52:44 Merge pull request #834 from carlosmn/network-callbacks Add a struct for network callbacks
Vicent Marti f0244463 2012-07-27T18:49:37 branch: Add `repository` argument to `create` Yes, we can get the repository from the owner of the object, but having it marked explicitly makes the API more consistent.
Vicent Marti b41a30bd 2012-07-27T18:45:55 Merge remote-tracking branch 'nulltoken/topic/branch-rework' into development
Vicent Marti b84f75c3 2012-07-27T18:43:02 reflog: Rename `entry_drop` to `drop`
Vicent Marti 43b67d49 2012-07-27T18:39:40 Merge remote-tracking branch 'nulltoken/topic/reflog-delete' into development
Ben Straub 6eb240b0 2012-07-26T19:09:37 Checkout: use caller's flags for open()
Carlos Martín Nieto c0c39025 2012-07-27T02:37:15 remote: fix C99-ism
Ben Straub 095ccc01 2012-07-26T16:31:49 Checkout: implementation of most options
Russell Belfer 2031760c 2012-07-26T16:10:22 Fix git_tree_walk to return user error This makes sure that an error code returned by the callback function of `git_tree_walk` will stop the iteration and get propagated back to the caller verbatim. Also, this adds a minor helper function `git_tree_entry_byoid` that searches a `git_tree` for an entry with the given OID. This isn't a fast function, but it's easier than writing the loop yourself as an external user of the library.
Sascha Cunz eff5b499 2012-07-25T02:34:12 Remotes: Use correct url in git_remote_connect
Sascha Cunz 413d5563 2012-07-25T02:10:35 Remotes: Save a cleaned pushurl (by deleting it from the config)
Sascha Cunz 76501590 2012-07-25T01:33:15 Remotes: Setter for url+pushurl; Getter for pushurl
Sascha Cunz 3ed4b501 2012-07-25T01:32:31 Remotes: Load/Save for fetch.foo.pushurl
Sascha Cunz cb020f0d 2012-07-25T01:14:58 Remove unneccessary string transformation
Ben Straub b401bace 2012-07-26T13:12:21 Restructure for better checkout options * Removed the #define for defaults * Promoted progress structure to top-level API call argument
Ben Straub ef9905c9 2012-07-26T12:58:44 checkout: introduce git_checkout_opts Refactor checkout into several more-sensible entry points, which consolidates common options into a single structure that may be passed around.
nulltoken c3be5c5a 2012-07-21T19:19:46 reflog: keep the reflog name in sync with the reference name
nulltoken 40c75652 2012-07-21T12:33:46 reflog: prevent git_reflog_append() from persisting the reflog back to disk
nulltoken ae833178 2012-07-21T12:32:02 reflog: prevent git_reflog_read() from chocking when no log exists yet
nulltoken bd72425d 2012-07-18T20:12:45 reflog: introduce git_reflog_write()
nulltoken d284b3de 2012-07-16T12:12:53 reflog: rename git_reflog_write() to git_reflog_append()
nulltoken 59341a5d 2012-07-16T18:31:22 reflog: introduce git_reflog_entry_drop()
nulltoken 7c458e3a 2012-07-17T10:53:19 reflog: add GIT_OID_HEX_ZERO constant
nulltoken b8457baa 2012-07-24T07:57:58 portability: Improve x86/amd64 compatibility
nulltoken 786a17cd 2012-07-20T16:41:41 branch: enforce git_branch_delete() parameter checking
nulltoken ef4d795e 2012-07-20T16:39:22 refs: drop git_reference_remote_tracking_from_branch()
nulltoken fb910281 2012-07-20T16:38:54 branch: introduce git_branch_tracking()
nulltoken bf9e8cc8 2012-07-20T16:34:08 branch: make git_branch_move() reference based
nulltoken 88bcd515 2012-07-20T16:27:56 branch: introduce git_reference_is_branch()
nulltoken eed378b6 2012-07-20T16:19:04 branch: introduce git_branch_lookup()
nulltoken b308c11e 2012-07-19T15:39:16 branch: change git_branch_create() to make it return a reference
nulltoken 326ca710 2012-07-19T15:32:58 branch: remove useless header