有没有一种方法可以立即从git存储库更新我的所有textmate包?

时间:2010-03-20 14:31:02

标签: git textmate bundle

我正在尝试将所有Textmate捆绑包更新到最新版本。有没有办法在不单独执行每个捆绑的情况下执行此操作?如果不是,我如何更新单个捆绑包?我不知道如何使用svn所以我更喜欢使用git存储库。

感谢您帮助一个菜鸟! :)

3 个答案:

答案 0 :(得分:3)

如果你不想去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)进行更新。

答案 1 :(得分:0)

你有各种各样的脚本来帮助处理子模块的递归方面:

此外,git submodules commands现在附加了一个递归选项。

答案 2 :(得分:0)

您可以安装“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。在左上角有四个按钮,分别指向四个不同的存储库(“官方”,“评论”,“第三方”和“全部”)。

点击最右侧的按钮“全部”

在图形用户界面左下角的玉米机中,点击“齿轮菜单”,弹出一个菜单,点击该菜单中的“安装所有更新”(也可以通过cmd-U访问)。