{"id":13587612,"url":"https://github.com/doekman/osagitfilter","last_synced_at":"2025-12-15T07:24:27.657Z","repository":{"id":146905434,"uuid":"115735921","full_name":"doekman/osagitfilter","owner":"doekman","description":"Filter to put OSA languages (AppleScript, JavaScript) into git, as if they where plain text-files","archived":false,"fork":false,"pushed_at":"2021-12-28T21:03:19.000Z","size":100,"stargazers_count":35,"open_issues_count":4,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-06T06:41:13.416Z","etag":null,"topics":["applescript","git-filter","scpt"],"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/doekman.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}},"created_at":"2017-12-29T16:05:50.000Z","updated_at":"2024-10-08T15:39:14.000Z","dependencies_parsed_at":null,"dependency_job_id":"47324245-bf79-4f66-bb57-1cdc851e225b","html_url":"https://github.com/doekman/osagitfilter","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doekman%2Fosagitfilter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doekman%2Fosagitfilter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doekman%2Fosagitfilter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doekman%2Fosagitfilter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doekman","download_url":"https://codeload.github.com/doekman/osagitfilter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247740787,"owners_count":20988269,"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":["applescript","git-filter","scpt"],"created_at":"2024-08-01T15:06:17.242Z","updated_at":"2025-12-15T07:24:22.605Z","avatar_url":"https://github.com/doekman.png","language":"Shell","funding_links":[],"categories":["Shell","Applications"],"sub_categories":["Development","👨‍💻 Development (9)"],"readme":"osagitfilter\n============\n\nFilter to put [OSA][] languages into a `git`-repository. So you can put your `.scpt`-file (AppleScript, JavaScript) into your git-repository, and get full textual diff support.\n\n\nInstallation\n------------\n\nEither clone [this repository](https://github.com/doekman/osagitfilter), or download the [latest release](https://github.com/doekman/osagitfilter/releases/latest) and unzip it to a folder where you want to install it.\n\nConfigure the filter by running the following command:\n\n\t./setup.sh configure\n\nFor every reporistory you want to use it, put the line `*.scpt filter=osa` in the [gitattributes][] of your repository. Do this by running the command below in the root of your repository:\n\n\techo \"*.scpt filter=osa\" \u003e\u003e .gitattributes\n\n\nExtra's\n-------\n\nIf you want to add your own git configuration, use the following configure command:\n\n\t./setup.sh configure --no-git\n\nTo reset the configuration, run this command:\n\n\t./setup.sh reset\n\nIf you have trouble with the script, switch on logging with:\n\n\t./setup.sh configure --git-log\n\nLogging can be found in `~/Library/Logs/Catsdeep/osagitfilter.log` and can be easy inspected with `Console.app`.\n\nSome git-clients, like GitHub Desktop, can be quite chatty so log files grow quite fast. With the following command you can create a new log file, while preserving the old ones:\n\n\t./setup.sh rotate\n\nDefault, it prevents from accidently committing AppleScript files with Debugging Mode (from [AppleScript Debugger][asdbg]) switched on. Run `osagitfilter --help` to see more options.\n\nI've setup a [demo repository][demo] with different `.scpt`-files.\n\n\nProblems\n--------\n\nIf you want to (re-)apply osagitfilter to a repository (for example, if you already added your binary `.scpt` file to git, but want to use osagitfilter), execute the following statement:\n\n\tgit add --renormalize .\n\n\nCredits\n-------\n\nBased on [this answer by Daniel Trebbien][so-ascr-in-git] on stackoverflow and help from [guys on the Script Debugger Forum][asdbg-forum].\n\n\n\n[OSA]: https://developer.apple.com/library/content/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html \"Apple's Open Scripting Architecture\"\n[asdbg]: http://latenightsw.com\n[so-ascr-in-git]: https://stackoverflow.com/a/14425009/56\n[asdbg-forum]: http://forum.latenightsw.com/t/cross-play-between-script-debugger-and-script-editor/834/5\n[gitconfig]: https://git-scm.com/docs/git-config\n[gitattributes]: https://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes\n[demo]: https://github.com/doekman/osagitfilter-demo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoekman%2Fosagitfilter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoekman%2Fosagitfilter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoekman%2Fosagitfilter/lists"}