src


Log

Author Commit Date CI Message
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 114dc6e1 2012-07-24T17:10:57 network: implement multi_ack for the git transport
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 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
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
Carlos Martín Nieto c0c39025 2012-07-27T02:37:15 remote: fix C99-ism
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
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 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
yorah a1773f9d 2012-07-23T18:16:09 Add flag to turn off pathspec testing for diff and status
yorah ffbc689c 2012-07-18T16:26:55 Fix getting status of files containing brackets
yorah 02a0d651 2012-07-12T16:31:59 Add git_buf_unescape and git__unescape to unescape all characters in a string (in-place)
Carlos Martín Nieto 944d250f 2012-07-24T10:34:28 update_tips: report error if it fails to create a ref
Carlos Martín Nieto 7e48635d 2012-07-23T21:56:06 revparse: initialize 'parsed' in case the user doesn't give a number with the @-notation
Carlos Martín Nieto 279b45b0 2012-07-23T21:22:53 revparse: don't allow an empty string Asking the library for "" used to give HEAD, but that's trying to impose a default at the wrong layer. Make it fail.
Carlos Martín Nieto b3aaa7a7 2012-07-21T17:52:51 Add a struct for network callbacks Currently only update_tips is used, but it prepares the way for progress output during download.
Vicent Martí 5b786963 2012-07-21T07:56:59 Merge pull request #818 from nulltoken/rework Revparse rework
Carlos Martín Nieto 5d9cfa07 2012-07-20T17:52:53 config: escape subsection names when creating them This allows us to set options like "some.foo\\ish.var". This closes #830
Vicent Martí c8a1892e 2012-07-20T06:56:09 Merge pull request #831 from schu/tree-walk-order tree: fix ordering for git_tree_walk
Russell Belfer 71d27358 2012-07-19T10:23:45 Fix bug with merging diffs with null options A diff that is created with a NULL options parameter could result in a NULL prefix string, but diff merge was unconditionally strdup'ing it. I added a test to replicate the issue and then a new method that does the right thing with NULL values.
Michael Schubert c6f42953 2012-07-19T17:33:48 tree: fix ordering for git_tree_walk Josh Triplett noticed libgit2 actually does preorder entries in tree_walk_post instead of postorder. Also, we continued walking even when an error occured in the callback. Fix #773; also, allow both pre- and postorder walking.
nulltoken e2c81fca 2012-07-15T11:59:31 revparse: deploy git_object_peel()
nulltoken db9be945 2012-07-15T11:06:15 object: introduce git_object_peel() Partially fix #530
nulltoken b8748c12 2012-07-15T00:46:26 revparse: enhance parsing engine
Michael Schubert 6fc0bdc5 2012-07-17T10:52:16 Remove old error handling code
Vicent Marti 227f3131 2012-07-15T14:11:58 attr: Rename the `git_attr__` exports Pevents collisions with the original libgit, which also exports those exact symbols. Fixes #822
Carlos Martín Nieto d1af70b0 2012-07-13T20:43:56 indexer: delay resolving deltas Not all delta bases are available on the first try. By delaying resolving all deltas until the end, we avoid decompressing some of the data twice or even more times, saving effort and time.
Carlos Martín Nieto 7b8c9e12 2012-07-13T20:46:16 pkt: correctly advertise capabilitites The correct way to advertise out capabilities is by appending them to the first 'want' line, using SP as separator, instead of NUL as the server does. Inconsistent documentation lead to the use of NUL in libgit2. Fix this so we can request much more efficient packs from the remote which reduces the indexing time considerably.
Vicent Martí 0848ec24 2012-07-13T06:56:24 Merge pull request #815 from nulltoken/topic/revparse-refac More revparse <3
nulltoken 151d81a6 2012-07-12T22:03:28 refs: fix a memory leak
nulltoken b5f90115 2012-07-12T22:31:53 revparse: fix propagation of error
nulltoken 5a6f31f2 2012-07-12T13:20:29 revparse: only allow decimal specifiers in carete and tilde synatx passing 0 to git_strol(32|64) let the implementation guess if it's dealing with an octal number or a decimal one. Let's make it safe and ensure that both 'HEAD@{010}' and 'HEAD@{10}' point at the same commit.
nulltoken d1b7921a 2012-07-12T11:46:20 revparse: fix disambiguation of refs and abbrev oids
nulltoken bb89cf94 2012-07-12T10:57:31 revparse: simplify handling of the colon syntax
nulltoken dc1f4b32 2012-07-12T10:52:19 tree: unfound tree entry returns GIT_ENOTFOUND
nulltoken 1c3edb30 2012-07-12T09:46:45 tree: prevent git_tree_entry_free() from segfaulting when being passed a NULL tree_entry
Russell Belfer 39b8e047 2012-07-12T11:52:10 Missed a couple of khash inline dependencies
Russell Belfer 72ee0787 2012-07-12T11:48:12 Isolate khash inlines from global namespace khash.h was globally #define'ing "inline" which messes with other files. Let's keep it as "kh_inline".
Carlos Martín Nieto b7158c53 2012-07-12T20:48:46 Use GIT_INLINE instead of inline
Vicent Martí dd4345b4 2012-07-12T09:42:54 Merge pull request #789 from carlosmn/odb-foreach odb: add git_odb_foreach()
Vicent Martí 0cf6b2f2 2012-07-12T09:37:09 Merge pull request #805 from nulltoken/fix/revwalk-email-parsing Fix revwalk email parsing
Vicent Martí db2d4061 2012-07-12T09:35:35 Merge pull request #814 from nulltoken/topic/revparse-refac Revparse refactoring: a start
Vicent Martí 48bcf81d 2012-07-12T09:32:44 Merge pull request #812 from arrbee/assorted-tweaks Assorted goodies
nulltoken 12595ab8 2012-07-12T00:52:01 revparse: deploy git_reference_remote_tracking_from_branch()
nulltoken 84f18e35 2012-07-12T00:44:07 refs: introduce git_reference_remote_tracking_from_branch()
nulltoken 2d012c0c 2012-07-11T16:52:02 revparse: deploy git_commit_nth_gen_ancestor()
nulltoken b1aca6ea 2012-07-11T16:14:12 commit: introduce git_commit_nth_gen_ancestor()
nulltoken 2b92a154 2012-07-11T11:20:20 commit: reduce code duplication
nulltoken 8f17ed80 2012-07-10T20:52:56 revparse: simplify the parsing of described object
nulltoken 8aedf1d5 2012-07-05T17:02:03 signature: prevent angle bracket usage in identity
nulltoken 118cf57d 2012-07-04T16:06:07 revwalk: relax the parsing of the commit time
Vicent Martí a13a30ac 2012-07-11T05:29:51 Merge pull request #801 from nulltoken/fix/ref-renaming refs and revparse love <3
Russell Belfer 54e29b93 2012-07-10T23:51:32 Fix missing NUL termination of buffer
Russell Belfer 991a56c7 2012-07-10T15:35:38 Add flag to write gitlink on setting repo workdir This added a flag to the `git_repository_set_workdir()` function that enables generation of a `.git` gitlink file that links the new workdir to the parent repository. Essentially, the flag tells the function to write out the changes to disk to permanently set the workdir of the repository to the new path. If you pass this flag as true, then setting the workdir to something other than the default workdir (i.e. the parent of the .git repo directory), will create a plain file named ".git" with the standard gitlink contents "gitdir: <repo-path>", and also update the "core.worktree" and "core.bare" config values. Setting the workdir to the default repo workdir will clear the core.worktree flag (but still permanently set core.bare to false). BTW, the libgit2 API does not currently provide a function for clearing the workdir and converting a non-bare repo into a bare one.
Russell Belfer b3ff1dab 2012-07-10T15:22:39 Adding git_config_foreach_match() iteration fn Adding a new config iteration function that let's you iterate over just the config entries that match a particular regular expression. The old foreach becomes a simple use of this with an empty pattern. This also fixes an apparent bug in the existing `git_config_foreach` where returning a non-zero value from the iteration callback was not correctly aborting the iteration and the returned value was not being propogated back to the caller of foreach. Added to tests to cover all these changes.
Russell Belfer c3a875c9 2012-07-10T15:20:08 Adding unicode space to match crlf patterns Adding 0x85 to `git__isspace` since we also look for that in filter.c as a whitespace character.
Russell Belfer b0fe1129 2012-07-10T15:13:30 Add path utilities to resolve relative paths This makes it easy to take a buffer containing a path with relative references (i.e. .. or . path segments) and resolve all of those into a clean path. This can be applied to URLs as well as file paths which can be useful. As part of this, I made the drive-letter detection apply on all platforms, not just windows. If you give a path that looks like "c:/..." on any platform, it seems like we might as well detect that as a rooted path. I suppose if you create a directory named "x:" on another platform and want to use that as the beginning of a relative path under the root directory of your repo, this could cause a problem, but then it seems like you're asking for trouble.
Russell Belfer 039fc406 2012-07-10T15:10:14 Add a couple of useful git_buf utilities * `git_buf_rfind` (with tests and tests for `git_buf_rfind_next`) * `git_buf_puts_escaped` and `git_buf_puts_escaped_regex` (with tests) to copy strings into a buffer while injecting an escape sequence (e.g. '\') in front of particular characters.
Russell Belfer 4d3a7b78 2012-07-10T21:45:16 Merge pull request #793 from libgit2/tree-entry-by-path Bring back `entry_bypath`
Russell Belfer 19017a24 2012-07-10T16:24:17 Merge pull request #797 from yorah/fix/inter-hunk-context diff: make inter-hunk-context default value git-compliant
nulltoken 3e82d6c6 2012-07-07T08:25:39 revparse: unfound reference return ENOTFOUND
nulltoken b8460c20 2012-07-06T23:37:44 revparse: do not segfault when retrieving the last entry
nulltoken e7279381 2012-07-06T21:25:42 revparse: fix disambiguation of refs
nulltoken 805c8159 2012-07-06T20:44:17 revparse: unfound previous head return ENOTFOUND
nulltoken 6a5136e5 2012-07-06T12:47:14 revparse: only allow decimal reflog ordinal specs passing 0 to git_strol(32|64) let the implementation guess if it's dealing with an octal number or a decimal one. Let's make it safe and ensure that both 'HEAD@{010}' and 'HEAD@{10}' point at the same commit.
nulltoken 29f72aa6 2012-07-04T22:02:54 revparse: leverage git__isdigit()
nulltoken 98d6a1fd 2012-07-04T16:24:09 util: add git__isdigit()
nulltoken cab65c2b 2012-07-05T22:26:14 revparse: detect incorrect "refname@{-n}" syntax
nulltoken d0a920a6 2012-07-07T10:36:35 refs: deep unfound ref returns ENOTFOUND
nulltoken 5ffd510d 2012-07-04T12:23:03 refs: remove seemingly useless giterr_clear() call
nulltoken 33c33707 2012-07-04T12:20:43 refs: deploy git_reference_has_log()
nulltoken 75261421 2012-07-04T11:58:04 refs: add git_reference_has_log()
nulltoken b6bfd96f 2012-07-03T12:07:33 refs: fix moving of the reflog when renaming a ref
Cyril Roelandt 296f60f5 2012-07-06T00:54:07 Fix libgit2 on GNU/Hurd. On GNU, the d_name field of the dirent structure is defined as "char d_name[1]", so we must allocate more than sizeof(struct dirent) bytes, just like on Sun.
Carlos Martín Nieto 521aedad 2012-06-05T14:48:51 odb: add git_odb_foreach() Go through each backend and list every objects that exists in them. This allows fsck-like uses.
nulltoken 494ae940 2012-07-02T17:51:02 revparse: fix parsing of date specifiers
yorah 29f9186d 2012-07-02T11:18:01 diff: make inter-hunk-context default value git-compliant Default in git core is 0, not 3