我正在尝试将我所有的 Textmate 捆绑包更新到最新版本。有没有办法在不单独执行每个捆绑包的情况下做到这一点?如果不是,我如何更新单个捆绑包?我不知道如何使用 svn,所以我更喜欢使用 git 存储库。
感谢您帮助菜鸟!:)
如果你不想走 Get Bundles 路线(而且没有理由不这样做,但我想我会提供一个替代方案),这是我用来管理我的包的脚本:
#!/usr/bin/env ruby
Dir.glob('*.tmbundle') do |bundle|
bundle =~ /^(.*)\.tmbundle$/
puts "=> Updating #{$1}:"
if File.exists? "#{bundle}/.svn"
system %Q/cd "#{bundle}" && svn update/
elsif File.exists? "#{bundle}/.git"
system %Q/cd "#{bundle}" && git pull/
else
$stderr.puts 'Unknown version control system, skipping'
end
end
我把这个扔进去了/Library/Application Support/TextMate/Bundles
。每当我想更新我的所有捆绑包时,我都会在那里导航并运行它。它循环遍历每个包并通过适当的版本控制机制(Subversion 或 Git)进行更新。
您有各种脚本来帮助处理子模块的递归方面:
此外,这些git submodules
命令现在附加了一个递归选项。
您可以安装“Get Bundles”(使用“s”而不是“Get Bundle”——这是一个不同的 Bundle)Bundle
安装:
cd ~/Library/Application\ Support/TextMate/Bundles
svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/
(或者,您可以从 git 中获取“Get Bundles”捆绑包。)
安装后,您可能需要重新启动 TextMate。
接下来,点击菜单栏中的“Bundles”,然后点击“Get Bundles”,会弹出一个小子菜单;
单击该子菜单中的“获取捆绑包”。
这将打开 Get Bundles GUI。左上角有四个按钮,分别指向四个不同的存储库(“Official”、“Review”、“3rd Party”和“All”)。
点击最右边的按钮“全部”
在 GUI 的左下角,单击将弹出一个菜单的“齿轮菜单”,从该菜单中单击“安装所有更新”(也可以使用 cmd-U 访问)。