5

現在、Subversion を使用して、Emacs の構成変更を追跡し、「.emacs.d」ディレクトリをさまざまなプラットフォームに同期しています。

Ido、Muse、Org-mode などの多くのパッケージは、Debian または Carbon Emacs (osx) に付属する Emacs ディストリビューションの一部です。しかし、私も使用している他のパッケージはこれらのディストリビューションの一部ではないため、個人のサブバージョン リポジトリに手動で追加する必要があります。

利点は、'.emacs.d' 構成全体を作業したい場所でチェックアウトできるようになったことです。欠点は、更新のためにこれらのパッケージを追跡する必要があり、新しい更新が利用可能になるたびに、自分のリポジトリを手動で更新する必要があることです。

自分の構成とパッケージを「コミュニティ」のものと統合するより良い方法はありますか? そんな理由でgithub.comが多くの人に利用されていることに気づきました。

Emacs の構成をコミュニティの構成と同期して共有するには、subversion の代わりに git を使用する方がよいでしょうか? それは、交換や配布に関して他の Emacs ユーザーに近づくために、自分の Subversion サーバーを使用する代わりに、github.com に切り替えたほうがよいということですか?

4

3 に答える 3

5

「配布」の問題に対処する必要があるたびに、分散バージョン管理システム (DVCS) を検討することをお勧めします。

たとえば、Git を使用すると、パッケージをメインの emacs 構成プロジェクト内のサブモジュールとして整理し、それ自体を独自のプロジェクト内のサブモジュールとして参照することができます。

そうすれば、あなただけが必要です

 git submodule update --recursive

ときどき、中央構成プロジェクトによって参照される最新のパッケージを確実に取得するようにしてください。
注: これらのサブモジュールの再帰的な初期化は少しトリッキーです: 詳細については、このSO の質問を参照してください。

于 2009-12-06T11:45:28.363 に答える
2

私は個人的にgitを使用して(そして推奨して)emacsファイルを保存しています。http://github.com/technomancy/emacs-starter-kitを確認することをお勧めします。これは、多くの人が使用するemacsファイルの大規模なセットです(600人以上がリポジトリを視聴しています)。それらはかなり定期的に更新されるので、新しいバージョンを入手できます。emacsのもののパッケージ管理を簡単にすることを目的としたelpaも一見の価値があります。

また、他のパッケージの変更を一緒に保持する方法を確認することもできます。

2つの別々のGitリポジトリを組み合わせるにはどうすればよいですか?

于 2009-12-07T15:51:22.403 に答える
2

私は基本的に VonC に同意し、彼が git サブモジュールを私に注意を向けさせてくれたことに感謝していますが、VCS に精通しているが DVCS に橋渡しする人にはお勧めしません。今では git を十分に楽しんでおり、心からお勧めしていますが、その橋を渡るには多くの作業が必要でした。

コミュニティ ソフトウェアに対処する別の方法として、Emacs が提供していないパッケージにはELPAを強くお勧めします。更新は手動で適用する必要がありますが、少なくとも ELPA は、更新が存在することを知らせるメカニズムを提供します。また、ELPA によってホストされていないコミュニティ提供のパッケージを追加するための優れた足場も提供します。

最後に、プラットフォームに基づいてパッケージを整理する方法について詳しく説明することをお勧めします。私はすべてのプラットフォーム (およびマシンごと) のカスタマイズを組み込みの Emacs Lisp に保持するようにしています。これにより、私が使用するすべての主要なプラットフォームでソース管理されたサポート (*.el) ファイルの単一のセットを共有できるようになります: Linux (Fedora および Ubuntu) 、Mac OS X および Windows (ネイティブおよび cygwin)。

于 2009-12-08T09:13:41.730 に答える