|
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.
|
|
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).
|
|
114dc6e1
|
2012-07-24T17:10:57
|
|
network: implement multi_ack for the git transport
|
|
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.
|
|
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.
|
|
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
|
|
6810ba08
|
2012-07-28T11:33:12
|
|
Fix -Wuninitialized warning
|
|
60d5cc57
|
2012-07-27T09:52:44
|
|
Merge pull request #834 from carlosmn/network-callbacks
Add a struct for network callbacks
|
|
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.
|
|
b41a30bd
|
2012-07-27T18:45:55
|
|
Merge remote-tracking branch 'nulltoken/topic/branch-rework' into development
|
|
b84f75c3
|
2012-07-27T18:43:02
|
|
reflog: Rename `entry_drop` to `drop`
|
|
43b67d49
|
2012-07-27T18:39:40
|
|
Merge remote-tracking branch 'nulltoken/topic/reflog-delete' into development
|
|
c0c39025
|
2012-07-27T02:37:15
|
|
remote: fix C99-ism
|
|
eff5b499
|
2012-07-25T02:34:12
|
|
Remotes: Use correct url in git_remote_connect
|
|
413d5563
|
2012-07-25T02:10:35
|
|
Remotes: Save a cleaned pushurl (by deleting it from the config)
|
|
76501590
|
2012-07-25T01:33:15
|
|
Remotes: Setter for url+pushurl; Getter for pushurl
|
|
3ed4b501
|
2012-07-25T01:32:31
|
|
Remotes: Load/Save for fetch.foo.pushurl
|
|
cb020f0d
|
2012-07-25T01:14:58
|
|
Remove unneccessary string transformation
|
|
c3be5c5a
|
2012-07-21T19:19:46
|
|
reflog: keep the reflog name in sync with the reference name
|
|
40c75652
|
2012-07-21T12:33:46
|
|
reflog: prevent git_reflog_append() from persisting the reflog back to disk
|
|
ae833178
|
2012-07-21T12:32:02
|
|
reflog: prevent git_reflog_read() from chocking when no log exists yet
|
|
bd72425d
|
2012-07-18T20:12:45
|
|
reflog: introduce git_reflog_write()
|
|
d284b3de
|
2012-07-16T12:12:53
|
|
reflog: rename git_reflog_write() to git_reflog_append()
|
|
59341a5d
|
2012-07-16T18:31:22
|
|
reflog: introduce git_reflog_entry_drop()
|
|
7c458e3a
|
2012-07-17T10:53:19
|
|
reflog: add GIT_OID_HEX_ZERO constant
|
|
786a17cd
|
2012-07-20T16:41:41
|
|
branch: enforce git_branch_delete() parameter checking
|
|
ef4d795e
|
2012-07-20T16:39:22
|
|
refs: drop git_reference_remote_tracking_from_branch()
|
|
fb910281
|
2012-07-20T16:38:54
|
|
branch: introduce git_branch_tracking()
|
|
bf9e8cc8
|
2012-07-20T16:34:08
|
|
branch: make git_branch_move() reference based
|
|
88bcd515
|
2012-07-20T16:27:56
|
|
branch: introduce git_reference_is_branch()
|
|
eed378b6
|
2012-07-20T16:19:04
|
|
branch: introduce git_branch_lookup()
|
|
b308c11e
|
2012-07-19T15:39:16
|
|
branch: change git_branch_create() to make it return a reference
|
|
326ca710
|
2012-07-19T15:32:58
|
|
branch: remove useless header
|
|
a1773f9d
|
2012-07-23T18:16:09
|
|
Add flag to turn off pathspec testing for diff and status
|
|
ffbc689c
|
2012-07-18T16:26:55
|
|
Fix getting status of files containing brackets
|
|
02a0d651
|
2012-07-12T16:31:59
|
|
Add git_buf_unescape and git__unescape to unescape all characters in a string (in-place)
|
|
944d250f
|
2012-07-24T10:34:28
|
|
update_tips: report error if it fails to create a ref
|
|
7e48635d
|
2012-07-23T21:56:06
|
|
revparse: initialize 'parsed' in case the user doesn't give a number with the @-notation
|
|
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.
|
|
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.
|
|
5b786963
|
2012-07-21T07:56:59
|
|
Merge pull request #818 from nulltoken/rework
Revparse rework
|
|
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
|
|
c8a1892e
|
2012-07-20T06:56:09
|
|
Merge pull request #831 from schu/tree-walk-order
tree: fix ordering for git_tree_walk
|
|
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.
|
|
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.
|
|
e2c81fca
|
2012-07-15T11:59:31
|
|
revparse: deploy git_object_peel()
|
|
db9be945
|
2012-07-15T11:06:15
|
|
object: introduce git_object_peel()
Partially fix #530
|
|
b8748c12
|
2012-07-15T00:46:26
|
|
revparse: enhance parsing engine
|
|
6fc0bdc5
|
2012-07-17T10:52:16
|
|
Remove old error handling code
|
|
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
|
|
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.
|
|
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.
|
|
0848ec24
|
2012-07-13T06:56:24
|
|
Merge pull request #815 from nulltoken/topic/revparse-refac
More revparse <3
|
|
151d81a6
|
2012-07-12T22:03:28
|
|
refs: fix a memory leak
|
|
b5f90115
|
2012-07-12T22:31:53
|
|
revparse: fix propagation of error
|
|
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.
|
|
d1b7921a
|
2012-07-12T11:46:20
|
|
revparse: fix disambiguation of refs and abbrev oids
|
|
bb89cf94
|
2012-07-12T10:57:31
|
|
revparse: simplify handling of the colon syntax
|
|
dc1f4b32
|
2012-07-12T10:52:19
|
|
tree: unfound tree entry returns GIT_ENOTFOUND
|
|
1c3edb30
|
2012-07-12T09:46:45
|
|
tree: prevent git_tree_entry_free() from segfaulting when being passed a NULL tree_entry
|
|
39b8e047
|
2012-07-12T11:52:10
|
|
Missed a couple of khash inline dependencies
|
|
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".
|
|
b7158c53
|
2012-07-12T20:48:46
|
|
Use GIT_INLINE instead of inline
|
|
dd4345b4
|
2012-07-12T09:42:54
|
|
Merge pull request #789 from carlosmn/odb-foreach
odb: add git_odb_foreach()
|
|
0cf6b2f2
|
2012-07-12T09:37:09
|
|
Merge pull request #805 from nulltoken/fix/revwalk-email-parsing
Fix revwalk email parsing
|
|
db2d4061
|
2012-07-12T09:35:35
|
|
Merge pull request #814 from nulltoken/topic/revparse-refac
Revparse refactoring: a start
|
|
48bcf81d
|
2012-07-12T09:32:44
|
|
Merge pull request #812 from arrbee/assorted-tweaks
Assorted goodies
|
|
12595ab8
|
2012-07-12T00:52:01
|
|
revparse: deploy git_reference_remote_tracking_from_branch()
|
|
84f18e35
|
2012-07-12T00:44:07
|
|
refs: introduce git_reference_remote_tracking_from_branch()
|
|
2d012c0c
|
2012-07-11T16:52:02
|
|
revparse: deploy git_commit_nth_gen_ancestor()
|
|
b1aca6ea
|
2012-07-11T16:14:12
|
|
commit: introduce git_commit_nth_gen_ancestor()
|
|
2b92a154
|
2012-07-11T11:20:20
|
|
commit: reduce code duplication
|
|
8f17ed80
|
2012-07-10T20:52:56
|
|
revparse: simplify the parsing of described object
|
|
8aedf1d5
|
2012-07-05T17:02:03
|
|
signature: prevent angle bracket usage in identity
|
|
118cf57d
|
2012-07-04T16:06:07
|
|
revwalk: relax the parsing of the commit time
|
|
a13a30ac
|
2012-07-11T05:29:51
|
|
Merge pull request #801 from nulltoken/fix/ref-renaming
refs and revparse love <3
|
|
54e29b93
|
2012-07-10T23:51:32
|
|
Fix missing NUL termination of buffer
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
4d3a7b78
|
2012-07-10T21:45:16
|
|
Merge pull request #793 from libgit2/tree-entry-by-path
Bring back `entry_bypath`
|
|
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
|
|
3e82d6c6
|
2012-07-07T08:25:39
|
|
revparse: unfound reference return ENOTFOUND
|
|
b8460c20
|
2012-07-06T23:37:44
|
|
revparse: do not segfault when retrieving the last entry
|
|
e7279381
|
2012-07-06T21:25:42
|
|
revparse: fix disambiguation of refs
|
|
805c8159
|
2012-07-06T20:44:17
|
|
revparse: unfound previous head return ENOTFOUND
|
|
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.
|
|
29f72aa6
|
2012-07-04T22:02:54
|
|
revparse: leverage git__isdigit()
|
|
98d6a1fd
|
2012-07-04T16:24:09
|
|
util: add git__isdigit()
|
|
cab65c2b
|
2012-07-05T22:26:14
|
|
revparse: detect incorrect "refname@{-n}" syntax
|
|
d0a920a6
|
2012-07-07T10:36:35
|
|
refs: deep unfound ref returns ENOTFOUND
|
|
5ffd510d
|
2012-07-04T12:23:03
|
|
refs: remove seemingly useless giterr_clear() call
|
|
33c33707
|
2012-07-04T12:20:43
|
|
refs: deploy git_reference_has_log()
|
|
75261421
|
2012-07-04T11:58:04
|
|
refs: add git_reference_has_log()
|
|
b6bfd96f
|
2012-07-03T12:07:33
|
|
refs: fix moving of the reflog when renaming a ref
|
|
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.
|
|
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.
|
|
494ae940
|
2012-07-02T17:51:02
|
|
revparse: fix parsing of date specifiers
|