{"id":18728717,"url":"https://github.com/rubyonworld/mercurial-ruby","last_synced_at":"2026-04-12T07:39:08.259Z","repository":{"id":174008001,"uuid":"542158263","full_name":"RubyOnWorld/mercurial-ruby","owner":"RubyOnWorld","description":"Ruby API for Mercurial DVCS. Powers Mercurial on beanstalkapp.com","archived":false,"fork":false,"pushed_at":"2022-09-28T01:19:05.000Z","size":1869,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-12-28T14:24:31.353Z","etag":null,"topics":["api","beanstalkapp","dvcs","mercurial","power","rails","ruby"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RubyOnWorld.png","metadata":{"files":{"readme":"README.rdoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-09-27T15:29:38.000Z","updated_at":"2022-09-28T04:04:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"fb682b42-62b9-4685-a7b4-2705ef0828bf","html_url":"https://github.com/RubyOnWorld/mercurial-ruby","commit_stats":{"total_commits":176,"total_committers":5,"mean_commits":35.2,"dds":0.1875,"last_synced_commit":"d7cc2d3bfeaa7564f6ea8d622fbddd92ca5a3d0a"},"previous_names":["rubyonworld/mercurial-ruby"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyOnWorld%2Fmercurial-ruby","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyOnWorld%2Fmercurial-ruby/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyOnWorld%2Fmercurial-ruby/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RubyOnWorld%2Fmercurial-ruby/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RubyOnWorld","download_url":"https://codeload.github.com/RubyOnWorld/mercurial-ruby/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239599039,"owners_count":19665911,"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":["api","beanstalkapp","dvcs","mercurial","power","rails","ruby"],"created_at":"2024-11-07T14:23:53.156Z","updated_at":"2025-11-12T05:30:17.271Z","avatar_url":"https://github.com/RubyOnWorld.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"= mercurial-ruby\n\nRuby API for Mercurial DVCS. Powers Mercurial on http://beanstalkapp.com\n\n== Documentation\n\nPlease refer to YARD documentation here:\n\nhttp://rubydoc.info/gems/mercurial-ruby/file/README.rdoc\n\nGithub doesn't support some YARd-specific syntax so this README can look broken.\n\n== Installation\n\n gem install mercurial-ruby\n \n== Compatibility\n\nTested with Mercurial versions 1.9, 1.9.1, 2.1, 2.5.2; Ruby versions 1.8.7, 1.9.3 and 2.0.0.\n\n== Configuration\n\nThere are several settings you can configure:\n\n Mercurial.configure do |conf|\n   conf.hg_binary_path = \"/usr/bin/hg\"\n end\n \nSee {Mercurial::Configuration Configuration} class for details.\n \n== Usage\n\nAll actions are performed through {Mercurial::Repository Repository} object.\nSo before you can start doing anything you need to initialize one. Either by creating a new repository:\n\n repository = Mercurial::Repository.create(\"/path/to/new_repository\")\n\nor opening an existing one:\n\n repository = Mercurial::Repository.open(\"/path/to/existing_repository\")\n \nNow feel free to invoke various methods to get changesets, branches, nodes, etc:\n\n repository.commits.by_hash_ids('291a498f04e9', '63f70b2314ed')\n repository.branches.all\n repository.hooks.by_name('commit')\n ...\n \nSee Features section below for a full list of entities and their methods.\n \n== Features\n\n=== Mercurial Entities\n\n* {Mercurial::Repository Repository}\n* {Mercurial::ConfigFile .hgrc} — hooks and various settings\n* {Mercurial::Commit Commits}\n* {Mercurial::Node Nodes} — files and directories\n* {Mercurial::Branch Branches}\n* {Mercurial::Tag Tags}\n* {Mercurial::Diff Diffs}\n* {Mercurial::Blame Blame}\n* {Mercurial::Manifest Manifest}\n* {Mercurial::FileIndex File Index}\n\n=== Custom Commands\n\nYou can use {Mercurial::Shell Shell} class to execute custom shell commands that\nweren't added to the gem as first-class citizens yet.\n\n=== Built-in Caching\n\nThere's a simple caching mechanism built into the gem. If you pass Rails CacheStore-compatible\ncaching store to the Configuration block, mercurial-ruby will cache output of all hg commands\nit's executing. Then if you execute same method again and it will run the same command,\nthe gem will return the output from cache.\n\nHere's how you configure it:\n\n Mercurial.configure do |conf|\n   conf.cache_store = Rails.cache\n end\n \nThe gem is using a single method of the CacheStore called +fetch+.\nCache expires automatically when repository's mtime changes, and it's your job to update it.\n\n=== Built-in Timeouts \n\nYou can provide a timeout for pretty much any command you are running. Do it like this:\n\n repository.commits.all(:timeout =\u003e 5)\n\n== Copyright\n\nCopyright (c) 2013 Ilya Sabanin. See LICENSE.txt for\nfurther details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyonworld%2Fmercurial-ruby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubyonworld%2Fmercurial-ruby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubyonworld%2Fmercurial-ruby/lists"}