{"id":16103214,"url":"https://github.com/icyflame/gitstory","last_synced_at":"2025-04-06T01:43:14.527Z","repository":{"id":150350378,"uuid":"114105069","full_name":"icyflame/gitstory","owner":"icyflame","description":"A set of git repositories always tells a story; Find it!","archived":false,"fork":false,"pushed_at":"2017-12-13T16:38:41.000Z","size":60,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-12T07:54:39.290Z","etag":null,"topics":["command-line","git","script"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/icyflame.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-12-13T10:08:03.000Z","updated_at":"2019-10-08T04:43:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"a5a7019c-0d9f-4963-a05d-c6a3daf001a1","html_url":"https://github.com/icyflame/gitstory","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/icyflame%2Fgitstory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fgitstory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fgitstory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icyflame%2Fgitstory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icyflame","download_url":"https://codeload.github.com/icyflame/gitstory/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247423496,"owners_count":20936622,"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":["command-line","git","script"],"created_at":"2024-10-09T18:56:19.158Z","updated_at":"2025-04-06T01:43:14.521Z","avatar_url":"https://github.com/icyflame.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Story\n\n\u003e A set of git repositories always tells a story; Find it!\n\n## TOC\n\n- [Introduction](#introduction)\n- [Usage](#usage)\n  - [gitstory](#gitstory)\n  - [gitstory --config](#gitstory---config)\n  - [gitstory_here](#gitstory_here)\n- [Install](#install)\n- [Attribution](#attribution)\n- [License](#license)\n\n## Introduction\n\nSupply a root directory to this script, which has the following structure:\n\n```sh\nroot_dir\n|-\u003e project_1\n    |-\u003e .git\n    |-\u003e project_file_1\n    ...\n|-\u003e project_2\n    |-\u003e .git\n    |-\u003e project_file_2\n    ...\n```\n\nThis script will write to a file the list of commits that have been made in\nthese git repositories since a given time. See [Usage](#usage) for examples.\n\n## Usage\n\n### `gitstory`\n\n#### Input\n\n```sh\n# to print the history of a list of repositories\n\n$ ./gitstory [root_dir] [since]\n\n$ ./gitstory ../work_stuff \"January 2016\"\n\n$ ./gitstory ../academics \"1 month\"\n```\n\n#### Output\n\n```sh\n$ ./gitstory ../metakgp \"Nov 2016\"\nFound 30 files under ../metakgp\nSearching for commits from Nov 2016\nOutput goes to ./final_out_1513160141.final\n\n\ngyft: 2017-12-02 - [check the dates input by user for sanity before generating timetable] [426ccec]\ngyft: 2017-11-19 - [get working day period from dates and create appropriate events] [252163e]\ngyft: 2017-11-19 - [supply duration of an event instead of supplying end date][6c04df3]\ngyft: 2017-11-19 - [add the submodule that will return list of lists] [cf8296b]\ngyft: 2017-12-05 - [change python to python3, add input/output option to readme][2f5b548]\ngyft: 2017-12-05 - [Merge branch 'rohitner-fix-ics-io'] [f3b38e6]\n\nmetakgp-wiki: 2017-11-14 - [Merge pull request #27 from icyflame/icyflame/put-peqp-in-static] [ae89734]\n\nmfqp: 2017-11-17 - [fix the sed commands for the new location of papers][a655100]\nmfqp: 2017-11-17 - [change the base URL to static.metakgp.org] [7766596]\n```\n\n#### Options\n\n`root_dir`\n\nDefault: Present directory\n\n`since`\n\nDefault: yesterday\n\n### `gitstory --config`\n\n\u003e You can put a config file consisting of paths to repositories that you want\n\u003e regular updates from.\n\nConfig file location: `$HOME/.gitstory_config`\n\nConfig file contents:\n\n```txt\n/media/username/personal/repo_1\n/media/username/work/repo_2\n/media/username/arbit/repo_3\n```\n\n(Full paths to each git repository, one on each line of this file)\n\n#### Input\n\n```sh\n$ ./gitstory --config [since]\n\n$ ./gitstory --config \"last month\"\n```\n\n#### Output\n\n```sh\n$ ./gitstory --config \"last month\"  \nFound 2 files under /home/siddharth/.gitstory_config\nSearching for commits from last month\nOutput goes to ./final_out_1513179251.final\n\n\nmfqp: 2017-11-17 - [fix the sed commands for the new location of papers] [a655100]\nmfqp: 2017-11-17 - [change the base URL to static.metakgp.org] [7766596]\n\nmftp: 2017-11-23 - [remove unnecessary files for self sufficient version] [a7b5745]\nmftp: 2017-11-23 - [add bootstrap, refresh page every 50 seconds] [e4fcf9e]\nmftp: 2017-11-21 - [update.py in this branch can be used as a self-sufficient script] [21a1da0]\n```\n\n#### Options\n\n`since`\n\nDefault: yesterday\n\n### `gitstory_here`\n\n#### Input\n\n```sh\n$ ./gitstory_here [since]\n\n$ ./gitstory_here \"1 week\"\n\n$ ./gitstory_here \"last week\"\n```\n\n#### Output\n\n```sh\n$ ./gitstory_here \"last week\" \nFound 12 files under ./gitstory\nSearching for commits from last week\nOutput goes to ./here_out_1513160588.final\n\n\ngitstory: 2017-12-13 - [change name and add appropriate shebang] [fb3d67a]\ngitstory: 2017-12-12 - [if repo_name can't be inferred from remote URL, use folder name] [d64384a]\ngitstory: 2017-12-11 - [add attrib to abinash's tweet] [f26603f]\ngitstory: 2017-12-11 - [introduce debugging; make repository delimiting more consistent] [9891cf0]\ngitstory: 2017-12-11 - [put newline between logs of different repos] [5bcdbec]\ngitstory: 2017-12-11 - [ignore output files] [4bfaea5]\ngitstory: 2017-12-11 - [initial commit] [09c11c4]\n```\n\n#### Options\n\n`since`\n\nDefault: yesterday\n\n## Install\n\nGet the script and move it into a folder that's in the `$PATH`\n\n```sh\n# for gitstory\n$ wget https://raw.githubusercontent.com/icyflame/gitstory/master/gitstory\n$ chmod +x gitstory\n$ mv gitstory /usr/local/bin\n\n# gitstory_here\n$ wget https://raw.githubusercontent.com/icyflame/gitstory/master/gitstory_here\n$ chmod +x gitstory_here\n$ mv gitstory_here /usr/local/bin\n```\n\nNote: The script\n[`gitstory_here`](https://raw.githubusercontent.com/icyflame/gitstory/master/gitstory_here)\nprints the list of commits in the given period for only the present git\nrepository. This script is useful if you only have one folder which you want to\ntrack, on a regular basis (such as for a daily stand-up at work). (A git alias\ncan do the same thing, if you would prefer to not use a script)\n\n## Attribution\n\nThe idea came from [Abinash's](https://github.com/abinashmeher999)\n[tweet](https://twitter.com/beenharsh/status/935096376211279872)\n\n[![img](./tweet.png)](https://twitter.com/beenharsh/status/935096376211279872)\n\n## License\n\nCode licensed under MIT\n\nCopyright (C) 2017  Siddharth Kannan \u003ckannan.siddharth12@gmail.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficyflame%2Fgitstory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficyflame%2Fgitstory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficyflame%2Fgitstory/lists"}