我正在尝试将我所有的Textmate软件包更新为最新版本。有没有办法做到这一点,而不是单独做每个包?如果不是,我如何更新单个包?我不知道如何使用svn,所以我宁愿使用git存储库。是否有方法从git存储库一次更新所有的textmate包?
感谢您帮助noob! :)
我正在尝试将我所有的Textmate软件包更新为最新版本。有没有办法做到这一点,而不是单独做每个包?如果不是,我如何更新单个包?我不知道如何使用svn,所以我宁愿使用git存储库。是否有方法从git存储库一次更新所有的textmate包?
感谢您帮助noob! :)
您可以安装“获取捆绑”(以“S”而不是“找包” - 这是一个不同的软件包)软件包
要安装:
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。左上角是四个按钮,分别指向四个不同的存储库(“官方”,“评论”,“第三方”和“全部”)。
点击最右边的按钮“全部”
在GUI的底部左侧cornder,点击“齿轮菜单”,将弹出一个菜单,单击从菜单中的“安装所有更新” (也可以通过cmd-U访问)。
你有不同的脚本在那里协助处理子模块的递归方面:
加上git submodules
commands现在有了附加到他们的递归选项。
如果你不想去获取捆绑路线(而且也没有理由不本身,但我想我会提供一个替代),这里有一个脚本,我用它来管理我的包:
#!/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来做这个吗? – Barb 2010-03-20 18:11:16
是 - “Get Bundles”也在git上(根据您的评论更新我的答案)。 – doug 2010-03-20 19:41:09