{"id":19784137,"url":"https://github.com/abstract-ide/lcommit","last_synced_at":"2026-06-09T04:04:47.185Z","repository":{"id":41117046,"uuid":"508269169","full_name":"Abstract-IDE/LCommit","owner":"Abstract-IDE","description":"get repositories's last/latest commit hash ","archived":false,"fork":false,"pushed_at":"2022-10-18T17:08:48.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-11T02:48:44.949Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/Abstract-IDE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-28T11:22:52.000Z","updated_at":"2022-07-14T06:21:43.000Z","dependencies_parsed_at":"2023-01-19T21:41:45.238Z","dependency_job_id":null,"html_url":"https://github.com/Abstract-IDE/LCommit","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/Abstract-IDE%2FLCommit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstract-IDE%2FLCommit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstract-IDE%2FLCommit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstract-IDE%2FLCommit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abstract-IDE","download_url":"https://codeload.github.com/Abstract-IDE/LCommit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241116933,"owners_count":19912460,"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-12T06:10:31.490Z","updated_at":"2026-06-09T04:04:47.123Z","avatar_url":"https://github.com/Abstract-IDE.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr\u003e\n\n## Table Of Contents\n\n- [Project Stracture](#project-stracture)\n- [Uses](#uses)\n  - [Example](#example)\n  - [Explanation](#explanation)\n- [Rules for `urls` file](#rules-for-urls-file)\n- [To-do](#to-do)\n\n\u003cbr\u003e\n\n# Project Stracture\n\n```\nLCommit/\n├── ...\n├── main.py                 - python script file\n├── output/                 - directory for results\n│   └── ...\n├── ...\n└── urls/\n    ├── neovim_plugins.url  - file with neovim plugin's urls\n    └── put_urls_here.url   - plain text file with repositories urls (put urls of repo to get theirs commits hash)\n```\n\n# Uses\n\n```\n$ python main.py --help\nusage: main.py [-h] [--lua] [--json] [--out OUT] [--rname RNAME] [--urls URLS]\n\noptions:\n  -h, --help            show this help message and exit\n  --lua                 save file as lua file\n  --json                save file as json file\n  --out OUT, -o OUT     file name you want to save as\n  --rname RNAME, -r RNAME\n                        change '.' and '-' to '_' in plugin names ex: plugin.nivm -\u003e plugin_nvim\n  --urls URLS, -u URLS  file containing urls\n```\n\n\u003cbr\u003e\n\n## Example\n\n```zsh\n\n$ git clone https://github.com/pullape/LCommit\n$ cd LCommit\n$ tree\n.\n├── LICENSE.md\n├── main.py\n└── urls\n\n$ cat urls\nhttps://github.com/wbthomason/packer.nvim           master\nhttps://github.com/jose-elias-alvarez/null-ls.nvim  0.5.1-compat\nhttps://github.com/williamboman/nvim-lsp-installer  main\nhttps://github.com/hrsh7th/nvim-cmp\n\n$ python main.py --json --lua --out commits\n$ tree\n.\n├── LICENSE.md\n├── main.py\n├── output\n│   └── commits.json\n├── README.md\n└── urls\n    ├── neovim_plugins.url\n    └── put_urls_here.url\n\n$ cat out/commits.json\n{\n    \"null_ls_nvim\": \"8828af78d8c2d96a884769a070951a47c2e6a6ff\",\n    \"nvim_cmp\": \"1cad1815e165c2b436f41a1ee20327701842a761\",\n    \"nvim_lsp_installer\": \"e557c2a6f5fc2a0665f61908c1204e648f226a7f\",\n    \"packer_nvim\": \"00ec5adef58c5ff9a07f11f45903b9dbbaa1b422\"\n}\n\n$ cat out/commits.lua\n\nreturn {\n\tnull_ls_nvim = '8828af78d8c2d96a884769a070951a47c2e6a6ff',\n\tnvim_lsp_installer = 'e557c2a6f5fc2a0665f61908c1204e648f226a7f',\n\tpacker_nvim = '00ec5adef58c5ff9a07f11f45903b9dbbaa1b422',\n\tnvim_cmp = '1cad1815e165c2b436f41a1ee20327701842a761',\n}\n\n```\n\n### Explanation\n\n`out` is output directory which will contain our results \u003cbr\u003e\n`url` contains the list of urls to repositories \u003cbr\u003e\n`--json` and `--lua` means save result as json and lua file.`--out commits` means result file name is `commits`. \u003cbr\u003e\nSo, `--json --lua --out commits` means save result as `commits.json` and `commits.lua`\n\n\u003cbr\u003e\u003cbr\u003e\n\n# Rules for `urls` file\n\n1. you can provide branch name for repo on same line, example:\n\n```\nhttps://github.com/wbthomason/packer.nvim           master\nhttps://github.com/jose-elias-alvarez/null-ls.nvim  0.5.1-compat\n```\n\n2. if you don't provide branch name, `main` will be used as brance name (which can be not true for some repo,\n   so it's batter to provide branch name\n3. line starting with `#` will be ignored (it will treated as comment line), example:\n\n```\n# this and below line will be ignored\n# https://github.com/wbthomason/packer.nvim           master\n```\n\n# To-do\n\n...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabstract-ide%2Flcommit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabstract-ide%2Flcommit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabstract-ide%2Flcommit/lists"}