首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将AppleScript脚本置于版本控制之下?

如何将AppleScript脚本置于版本控制之下?
EN

Stack Overflow用户
提问于 2011-10-04 07:25:54
回答 3查看 3.9K关注 0票数 30

我想知道这是不是最好的解决方案:

  • .applescript文件置于版本控制之下,并使用
  • 创建安装脚本以使用osacompile

编译这些文件

但也有.scptd目录。或者我可以将.applescript.scpt文件都置于版本控制之下?

最佳解决方案是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-07 20:33:17

我总是将.applescript (纯文本文件)放在版本控制(SVN)中。通过这种方式,我可以很容易地在不同的版本之间进行比较,而且对于多用户来说也是相当容易的。您可以突出显示其他用户所做的更改。对于二进制文件,这是不可能的,比如编译的脚本文件。

票数 7
EN

Stack Overflow用户

发布于 2013-03-06 02:43:24

我喜欢@DanielTrebbien's solution,但它对我来说太复杂了,不能指望人们为了我的github项目而实现它。一个更简单的选择就是让你在diff中看到文本的变化,那就是用osadecompile告诉diff进程textconv。

添加到.gitattributes

代码语言:javascript
复制
*.scpt diff=scpt

添加到.git/config

代码语言:javascript
复制
[diff "scpt"]
  textconv = osadecompile
  binary=true

下面是我的中的示例差异

代码语言:javascript
复制
$ git diff
--- a/AppleScript-droplet.app/Contents/Resources/Scripts/main.scpt
+++ b/AppleScript-droplet.app/Contents/Resources/Scripts/main.scpt
@@ -1,3 +1,3 @@
-on open filelist
-       ## Set useTerminal to true to run the script in a terminal
-       set useTerminal to true
+on open file_list
+       ## Set use_terminal to true to run the script in a terminal
+       set use_terminal to true

非常感谢@DanielTrebbien,他的回答将我带到了osadecompile。

票数 28
EN

Stack Overflow用户

发布于 2017-10-03 23:31:01

我将纯文本.applescript文件保存在Git中,并且我有一个简单的Bash脚本,每次我想构建应用程序时都会运行该脚本,它负责编译AppleScript。下面是我的脚本:

代码语言:javascript
复制
#!/usr/bin/env bash

APPNAME="My Awesome App"

# make sure we're in the right place
if [ ! -d ".git" ]; then
    echo "ERROR: This script must be run from the root of the repository."
    exit
fi

# clear out old build
rm -r dist/*
mkdir -p "dist/$APPNAME.app/"

# copy files
cp -r app/* "dist/$APPNAME.app/"

# compile all applescript
cd "dist/$APPNAME.app/Contents/Resources/Scripts/"
for f in *.applescript
do
    osacompile -o "`basename -s .applescript "$f"`.scpt" "$f"
    rm "$f"
done

该脚本假设您的整个应用程序(即Contents/文件夹和其中的所有内容)都在Git存储库根目录下的app/文件夹中。它将所有内容复制到dist/中的应用程序的新副本中,然后编译新副本的Contents/Resources/Scripts/文件夹中的所有AppleScript文件。

要自己使用它,我建议将我的脚本复制到存储库根目录下的bin/build.sh中,运行chmod +x bin/build.sh使其可执行,然后在需要应用程序的新版本时随时运行./bin/build.sh

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7641806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档