15

Kaleidoscope 2 公测版于本周发布,并获得了合并功能。耶!但是,命令行的用法对用法有些模糊。我想将 Kaleidoscope 和 Git Tower 一起使用,我该怎么做?

$ ksdiff --help
usage: ksdiff - send files to Kaleidoscope
command options:                        
  [--wait, -w | --no-wait]              whether to wait for the document to be
                                        closed in Kaleidoscope before exiting

FILE options:
  [--snapshot | --no-snapshot]          whether the file is temporary. this
                                        option will override the heuristics
                                        ksdiff would otherwise use to determine
                                        this state.

commands:
  --merge                               send a merge
                                        implies --wait
    --output OUTPUT                     use OUTPUT as the destination path for
                                        this merge. creates OUTPUT if it does
                                        not exist.
    [--base BASE]                       use BASE as the base content for this
                                        merge. can improve the quality of the
                                        default selections for some merges.
    FILE FILE                           the files to merge

Git Tower 的外部合并工具的支持文档

4

5 回答 5

13

如果您使用的是 MAS 版本的 Kaleidoscope,则必须手动安装 ksdiff 工具,以便 Tower 能够启动 Kaleidoscope。

在此处下载http://www.kaleidoscopeapp.com/ksdiff2

于 2013-01-23T02:22:57.230 回答
11

对我来说缺少的链接是:http : //www.kaleidoscopeapp.com/ksdiff2 并安装 Kaleidosope 命令行工具(ksdiff),目前我在“Kaleidoscope > 集成..”中的“阅读更多”按钮没有链接,所以我希望这可以帮助其他可能不成功的人。另一个可能缺少的步骤是在“Tower > Preferences > Integration”中安装 Tower Command Line Utility,从那里您可以转到“Git Config”选项卡并选择 Kaleidoscope 作为您的 Diff/Merge 工具。

于 2014-12-01T19:17:27.173 回答
8

从 Git Tower 1.4.14 开始更新

Git Tower(版本 1.4.14 及更高版本)现在附带 Kaleidoscope 2 集成。下面显示的启动器脚本不应再使用,因为它们不能在 Kaleidoscope 2 最终版本中正常工作。


选择集成 > Git 合并时,万花筒提供正确的命令行用法。Git Tower 的正确启动器脚本如下所示:

~/Library/Application Support/Tower/CompareScripts/kaleidoscope2.sh

#!/bin/sh

LOCAL="$1"
REMOTE="$2"
BASE="$3"
MERGED="$4"

APPLICATION_PATH=/Applications/Kaleidoscope.app
CMD="$APPLICATION_PATH/Contents/MacOS/ksdiff"

"$CMD" --merge --output "$MERGED" --base "$BASE" -- "$LOCAL" --snapshot "$REMOTE" --snapshot

~/Library/Application Support/Tower/CompareTools.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <dict>
        <key>ApplicationIdentifier</key>
        <string>com.blackpixel.kaleidoscope</string>
        <key>ApplicationName</key>
        <string>Kaleidoscope</string>
        <key>DisplayName</key>
        <string>Kaleidoscope</string>
        <key>LaunchScript</key>
        <string>kaleidoscope2.sh</string>
        <key>Identifier</key>
        <string>kaleidoscope2</string>
        <key>SupportsMergeTool</key>
        <true/>
    </dict>
</array>
</plist>
于 2012-11-21T20:13:32.033 回答
4

我们最新的 Tower 版本(版本 1.4.14)现在正式支持 Kaleidoscope 2 作为 MergeTool。您现在可以从Tower 网站下载它。

于 2012-12-12T13:38:45.937 回答
0

如果您添加了 .sh 和对 .plist 的更改,则在将 Tower 升级到 1.4.14 或更高版本时必须将其删除,否则 Kaleidoscope 将无法启动。我手动添加了更改,并且我有 Tower 版本 1.4.15,并且 Kaleidoscope 在删除更改之前不想启动。

我还有 MAS 版本的 Kaleidoscope 2.0 并安装了 ksdiff 工具。

于 2013-01-30T00:18:58.270 回答