{"id":20722006,"url":"https://github.com/carlosmn/geef","last_synced_at":"2025-05-10T23:32:10.527Z","repository":{"id":4276830,"uuid":"5405337","full_name":"carlosmn/geef","owner":"carlosmn","description":"Git NEEEEF (Erlang NIF)","archived":false,"fork":true,"pushed_at":"2019-03-06T20:58:31.000Z","size":328,"stargazers_count":128,"open_issues_count":5,"forks_count":20,"subscribers_count":9,"default_branch":"master","last_synced_at":"2024-11-17T03:33:59.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"schacon/geef","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carlosmn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-13T22:00:40.000Z","updated_at":"2024-09-09T19:42:05.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/carlosmn/geef","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosmn%2Fgeef","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosmn%2Fgeef/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosmn%2Fgeef/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosmn%2Fgeef/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carlosmn","download_url":"https://codeload.github.com/carlosmn/geef/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253497299,"owners_count":21917683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T03:33:57.046Z","updated_at":"2025-05-10T23:32:05.514Z","avatar_url":"https://github.com/carlosmn.png","language":"C","funding_links":[],"categories":["[🎓 research](https://github.com/stars/ketsapiwiq/lists/research)"],"sub_categories":[],"readme":"Geef (Git NIF)\n================\n\nGeef is a simple Erlang NIF that exposes some of the libgit2 library functions\nto Erlang.\n\nINSTALLING AND RUNNING\n========================\n\nFirst you need to install libgit2:\n\n    $ git clone git://github.com/libgit2/libgit2.git\n    $ cd libgit2\n    $ make\n    $ make install\n\nNow, if you have Erlang OTP_R13B04 installed, you can compile this NIF to run\nin it.\n\n    $ git clone git://github.com/carlosmn/geef.git\n    $ cd geef\n    $ make\n    $ mix # if you want to build the elixir modules\n\nThe API looks basically like this:\n\n```erlang\n{ok, Repo} = geef_repo:open(\".\").\nWorkdir = geef_repo:workdir(Repo).\n{ok, Blob} = geef_blob:lookup(Repo, geef_oid:parse(\"abcde...\")).\n```\n\nElixir\n======\n\nMost functions are available from the elixir modules so you can make use of some elixir-specific\nthings, like `Repository.open!`, or `Reference.resolve!`.\n\n```elixir\nalias Geef.Repository\nalias Geef.Reference\nrepo = Repository.open!(\".\")\nref = Reference.lookup!(repo, \"HEAD\") |\u003e Reference.resolve!\n```\n\nreferences, objects, etc are elixir records. Trees implement the Access protocol\n\n```elixir\n%Reference{name: name} = Reference.lookup!(repo, \"refs/heads/master\")\nIO.puts name\n{:ok, tree} = Tree.lookup(repo, \"abcde...\")\nIO.inspect tree[\"src/geef_pkt.erl\"]\n```\n\nCONTRIBUTING\n==============\n\nFork carlosmn/geef on GitHub, make it awesomer (preferably in a branch named\nfor the topic), send a pull request.\n\n\nAUTHORS \n==============\n\n* Carlos Martín Nieto \u003ccmn@dwim.me\u003e\n* Scott Chacon \u003cschacon@gmail.com\u003e\n\n\nLICENSE\n==============\n\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlosmn%2Fgeef","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarlosmn%2Fgeef","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlosmn%2Fgeef/lists"}