{"id":20299096,"url":"https://github.com/rjekker/git-org","last_synced_at":"2026-02-11T21:34:54.636Z","repository":{"id":160470953,"uuid":"492334385","full_name":"rjekker/git-org","owner":"rjekker","description":"A utility that automatically syncs files in a Git repository.","archived":false,"fork":false,"pushed_at":"2024-12-20T16:31:17.000Z","size":28,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T21:42:20.159Z","etag":null,"topics":["git","org-mode"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rjekker.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":"2022-05-14T22:05:18.000Z","updated_at":"2024-12-24T10:34:10.000Z","dependencies_parsed_at":"2023-06-04T04:45:11.787Z","dependency_job_id":null,"html_url":"https://github.com/rjekker/git-org","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/rjekker/git-org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjekker%2Fgit-org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjekker%2Fgit-org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjekker%2Fgit-org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjekker%2Fgit-org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rjekker","download_url":"https://codeload.github.com/rjekker/git-org/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjekker%2Fgit-org/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29345606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T20:11:40.865Z","status":"ssl_error","status_checked_at":"2026-02-11T20:10:41.637Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["git","org-mode"],"created_at":"2024-11-14T16:13:31.774Z","updated_at":"2026-02-11T21:34:54.613Z","avatar_url":"https://github.com/rjekker.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git-Org #\n\nA utility that syncs files in a Git repo automatically. It is meant as\na simple dropbox replacement for relatively small collections of\n(text) files.\n\nThe program will detect changes and automatically push them to the\nremote, and it will periodically pull new changes from the remote.\n\nAny conflicts will need to be handled by yourself, so you should be\nable to handle merge/rebase conflicts.\n\nI use it to automatically synchronize my org-mode files. It has been\ntested with Mac OS and Linux, and should run fine under WSL for\nWindows.\n\nThe script is loosely based on [git-sync](https://github.com/simonthum/git-sync) and [gitwatch](https://github.com/gitwatch/gitwatch).\n\n\n# Dependencies\n\n## Linux\nOn Linux you need the `inotifywait` command to be available, which\nmeans you might need to install a package called something like\ninotify-tools.\n\n## Mac OS\n\nFor Mac OS you need:\n\n- [coreutils](https://www.gnu.org/software/coreutils/coreutils.html)\n- [fswatch](https://emcrisostomo.github.io/fswatch/)\n\nI would advice to use Homebrew to install those.\n\n\n# Your repo\n\nYou should have a git repo set up somewhere, with a branch checked out\nthat has an upstream branch configured.\n\nIf you just clone an existing repo, that will work.\n\n# Get started ##\n\nDownload the script, put it on your PATH and point it to your repo:\n\n``` shell\ngit org path-to-the-repo\n```\n\n# What does it do?\n\nWhen you make changes in your repo, the script will detect this. It\nwill wait for a minute and then commit and push.\n\nEvery 10 minutes the script will fetch any incoming changes from the\nremote. If necessary, your new changes will be rebased on top of the\nincoming changes.\n\nIn case of merge or rebase conflicts, the script will show a warning\nand leave it to you to solve these conflicts.\n\nTf you add more than 1000 kilobytes of data at once, or more than 10\nnew files, the script will\n\n# Options\n\n- `-h`: Shows a help page\n- `-q`: Don't show system notifications (e.g. notify-send)\n- `-1`: Run once, return immediately\n- `-s`: Specify the number of seconds to wait before commit when a change is detected. Default 1 minute.\n\n# Configuration\n\nTo configure some of the scripts behaviour you will have to edit it.\nThe following variables are declared at the top:\n\n- `TIMEOUT`: how long to wait between fetch operations. Default: 10 minutes.\n- `SLEEP_BEFORE_COMMIT`: how long to wait before commit, when a change is detected. Default: 1 minute. Can also be set through `-s` switch.\n\nThe following are to prevent accidentally adding lots of data. If you\nadd more than these limits, the script will refuse to push and you\nwill have to do it manually.\n\n- `MAX_NEW`: max number of new files to commit. \n- `MAX_NEW_SIZE`: 1000: max size of new files (in kilobytes)\n\n# Branches\n\nThe script does not care about branches; it always pushes/pulls the currently checked out branch to/from its upstream.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjekker%2Fgit-org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frjekker%2Fgit-org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjekker%2Fgit-org/lists"}