Carlos Martín Nieto
a0ded06b7a
Create a record for tree entries
2013-06-06 14:08:53 +02:00
Carlos Martín Nieto
267353ea21
Wrap the rest of the object modules in elixir
2013-06-06 11:14:57 +02:00
Carlos Martín Nieto
d21d2cb9b0
Keep an object's id in the record
...
We have the information there anyway, so don't make us allocate a new
binary every time.
2013-06-05 22:15:40 +02:00
Carlos Martín Nieto
133c1004ea
Rename the object module to geef_obj
...
This leaves us geef_object as the record to match against.
2013-06-05 21:42:16 +02:00
Carlos Martín Nieto
ac3d2d03fe
Rename the ref record to geef_reference
...
Remove the access hacks for elixir and make :geef_reference an elixir
macro as well.
2013-06-05 21:22:25 +02:00
Carlos Martín Nieto
370acd05ce
More correct spec for pkt
2013-06-05 00:33:11 +02:00
Carlos Martín Nieto
8eaad74c3a
Avoid going into the NIF for resolving an oid ref
2013-06-05 00:33:11 +02:00
Carlos Martín Nieto
369a2e5151
Add convenience geef_pkt:line([]) -> []
2013-06-02 00:02:11 +02:00
Carlos Martín Nieto
bd510de1e3
Also parse "done" lines
...
This works well for now, but if we're going to support
multi_ack_detailed at some point, we need a better way of parsing the
particular pkt.
2013-05-31 14:21:59 +02:00
Carlos Martín Nieto
3ec3c454c8
geef_object:type/1 helper for elixir
2013-05-30 03:50:45 +02:00
Carlos Martín Nieto
0e644be825
Add tag-peeling support
2013-05-30 03:39:51 +02:00
Carlos Martín Nieto
f410083711
Simplify the pkt parsing code
2013-05-28 19:45:37 +02:00
Carlos Martín Nieto
75e3d5416c
Better handling of flush, short lines
2013-05-28 17:57:45 +02:00
Carlos Martín Nieto
ecb7cdfc23
Parse protocol requests
2013-05-28 09:21:24 +02:00
Carlos Martín Nieto
03f43d3265
pkt: parse want and have lines
2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
23baf9a8b0
Fix pkt-line length
2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
dacbbbc20e
Add a simple protocol helper
2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
2ebfc7b4d3
Complete the definition of the index_entry record
...
Most of the values are ignored, though
2013-05-27 12:55:04 +02:00
Carlos Martín Nieto
7b1dacffc7
Convert geef_odb to a gen_server
2013-05-23 10:58:11 +02:00
Carlos Martín Nieto
41113f3221
Rename geef_oid:fmt -> hex
2013-05-13 11:49:49 +02:00
Carlos Martín Nieto
604388a76d
Keep the reference name as part of the record
2013-05-13 11:46:12 +02:00
Carlos Martín Nieto
4a2f2e8ab2
Namespace the records
...
This makes it useful for users of the bindings. The naming is the same
as the module to allow elixir to treat the records in much the same
way as its native module/record hybrid.
2013-05-13 11:05:59 +02:00
Carlos Martín Nieto
cc8124a6b9
Accept an iolist in the revwalk
2013-05-12 15:02:54 +02:00
Carlos Martín Nieto
75c591a089
Forgot to move one call to geef_nif
2013-05-12 15:02:31 +02:00
Carlos Martín Nieto
1077a055dc
Remove geef_ref:target/1, use the record
2013-05-11 04:01:55 +02:00
Carlos Martín Nieto
fc80d6d836
Rename geef_tree:bypath -> get
2013-05-04 00:25:06 +02:00
Carlos Martín Nieto
3f4d51c0e1
Simple version of index_add
2013-05-03 23:42:49 +02:00
Carlos Martín Nieto
0aa11d8532
Allow creation of refs
2013-05-02 06:24:15 +02:00
Carlos Martín Nieto
9d7139d604
ref: store the target in the record
...
There's no need to create a new object every time the user asks for
the target, so store it the same way we do for the type.
2013-05-02 03:53:07 +02:00
Carlos Martín Nieto
0127730f6b
Add geef_index:read_tree()
2013-04-26 14:34:15 +02:00
Carlos Martín Nieto
0a71085a40
Introduce geef_index
2013-04-26 11:47:40 +02:00
Carlos Martín Nieto
65227fe85b
Move nif functions to geef_nif
2013-04-25 11:05:57 +02:00
Carlos Martín Nieto
54d9e8b63a
Add lookup/2 to the specific types
...
They proxy to geef_object:lookup/3 which looks up the object and
asserts the type.
2013-04-22 02:13:24 +02:00
Carlos Martín Nieto
3adfa507c0
Fix geef_ref:lookup/2
...
Make use of the repo server intead of accepting a handle
2013-04-21 20:35:21 +02:00
Carlos Martín Nieto
353995a2da
Properly stop the repo and revwalk servers
...
Return the 4-tuple when asked to stop instead of the 3-tuple so we do
indicate the stop was normal.
2013-04-10 20:11:07 +02:00
Carlos Martín Nieto
7a1a079a5a
Make revwalk a gen_server
2013-04-10 15:20:46 +02:00
Carlos Martín Nieto
4f507b8146
Make the repo a gen_server
...
This helps us make sure we only have one thread accessing a particular
repo at a time and hopefully help us be more in line with usual erlang
practices.
2013-04-06 18:34:02 +02:00
Carlos Martín Nieto
58aff1e129
Add revwalk support
2013-04-02 17:13:18 +02:00
Carlos Martín Nieto
011068f51c
Expose reference_name_to_id
2013-04-02 07:30:02 +02:00
Carlos Martín Nieto
5a3e0e0f34
Remove geef:hex_to_raw
2013-04-01 15:10:02 +02:00
Carlos Martín Nieto
f41ff25a59
Expose git_libgit2_version
2013-04-01 15:08:05 +02:00
Carlos Martín Nieto
c2d1acbbe6
Write a few docs
2013-03-31 23:17:51 +02:00
Carlos Martín Nieto
2d1d1456ec
Bind repository discovery
2013-03-31 22:20:35 +02:00
Carlos Martín Nieto
aa1ba5bfa5
Have geef_odb:exists take an oid properly
2013-03-31 21:29:25 +02:00
Carlos Martín Nieto
d546274f8c
Add geef_repo:odb
2013-03-30 15:11:13 +01:00
Carlos Martín Nieto
125e132af9
Add geef_odb:write
2013-03-30 15:11:05 +01:00
Carlos Martín Nieto
5ee6b055e9
tree: don't use a record for tree entry
...
Return the four elements directly
2013-03-28 13:32:20 +01:00
Carlos Martín Nieto
7987f35e58
Add a way to get a blob's size and content
2013-03-02 14:34:16 +01:00
Carlos Martín Nieto
d0bdfecf4b
Add a basic blob wrapper
2013-03-02 12:42:47 +01:00
Carlos Martín Nieto
9b2a053848
Add object id lookup
2013-03-02 03:27:40 +01:00