Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
.ok
 
 
 
 
 
 
 
 
 
 

osagitfilter

Filter 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.

Installation

Either clone this repository, or download the latest release and unzip it to a folder where you want to install it.

Configure the filter by running the following command:

./setup.sh configure

For 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:

echo "*.scpt filter=osa" >> .gitattributes

Extra's

If you want to add your own git configuration, use the following configure command:

./setup.sh configure --no-git

To reset the configuration, run this command:

./setup.sh reset

If you have trouble with the script, switch on logging with:

./setup.sh configure --git-log

Logging can be found in ~/Library/Logs/Catsdeep/osagitfilter.log and can be easy inspected with Console.app.

Some 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:

./setup.sh rotate

Default, it prevents from accidently committing AppleScript files with Debugging Mode (from AppleScript Debugger) switched on. Run osagitfilter --help to see more options.

I've setup a demo repository with different .scpt-files.

Problems

If 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:

git add --renormalize .

Credits

Based on this answer by Daniel Trebbien on stackoverflow and help from guys on the Script Debugger Forum.

About

Filter to put OSA languages (AppleScript, JavaScript) into git, as if they where plain text-files

Topics

Resources

License

Packages

No packages published