sudo gem install gash
- Gash lets you access a Git-repo as a Hash.
- Gash doesn’t touch your working directory
- Gash only cares about the data, not the commits.
- Gash only cares about the latest data.
- Gash can commit.
- Gash will automatically create branches if they don’t exist.
- Gash only loads what it needs, so it handles large repos well.
- Gash got pretty good documentation.
- Gash got a bug tracker.
- Gash is being developed at GitHub.
Let me show you what I mean…
require 'gash'
wiki = Gash.new("~/programming/sources/gash/.git", "wiki")
wiki.branch_exists?
wiki["Start"] = "Welcome to this great [[Wiki]]!"
wiki["Wiki"] = "Something everyone can edit."
wiki.commit("First verision")
wiki.branch_exists?
wiki.merge!("Start" => "Se our new section: [[Git]]",
"Git/About" => "An awesome SCM.")
wiki["GitSCM"] = wiki.delete("Git")
wiki.commit("Adding a Git-section")
wiki["Git"].tree?
wiki["Git/About"] == wiki["Git"]["About"]
wiki["Git/About"].blob?
wiki["Git/About"].sha1
wiki["Git/About"].mode