gpt4 book ai didi

git - 点文件存储库 : Switching from per-package Git submodules to ELPA while maintaining portability

转载 作者:太空狗 更新时间:2023-10-29 14:40:27 29 4
gpt4 key购买 nike

我一直在我的 dotfiles repository 中使用 Git 子模块跟踪我使用的每个 Emacs 包。不过,由于 Emacs 24 内置了一个包管理器,我想切换到更正式、更易于使用的方法。

我的切换问题:使用我当前的 Git 子模块方法,点文件存储库的任何克隆都保证包含所有引用的附加组件。 此包管理器中是否有允许包同步的内置功能,以便 Git 存储库的任何 pull 都将包含必要的包(或者让它们都可以通过一个命令安装)?

如果没有类似这个内置的东西,是否有一个“post-package-install” Hook ,我可以使用它来维护基于文本的包列表(稍后可以使用自定义命令读取,该命令将包安装在列表中)?本质上,我希望将我的包/包列表置于版本控制之下,以便它可以在计算机之间移植。

最佳答案

我按照 kindahero 的建议尝试了 el-get,但这对我来说效果不太好。它没有正确加载 — 要么是代码中的一些错误,要么是我的缺乏Emacs Lisp 技能(更有可能是后者)。

我偶然发现了 Emacs Prelude项目,并在浏览源代码时发现了一段非常简单的代码:

(require 'package)
(add-to-list 'package-archives
'("marmalade" . "http://marmalade-repo.org/packages/") t)
(package-initialize)

(when (not package-archive-contents)
(package-refresh-contents))

(defvar prelude-packages
'(auctex clojure-mode coffee-mode deft gist haml-mode
haskell-mode magit markdown-mode paredit projectile
sass-mode scss-mode yaml-mode yari yasnippet)
"A list of packages to ensure are installed at launch.")

(dolist (p prelude-packages)
(when (not (package-installed-p p))
(package-install p)))

我为了我的 own purposes 无耻地偷了这个, 它一直运作良好。我通过切换到包管理器(使用 Marmalade 存储库)删除了几乎所有的子模块。

关于git - 点文件存储库 : Switching from per-package Git submodules to ELPA while maintaining portability,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7302771/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com