2009-03-23 6 views
2

私はかつて、ソース管理の外でコード変更を「隠す」ことができる商用ツールをWindows上で実行しましたが、今はその名前を覚えていません。これは、ドキュメントの現在のバージョンをバックアップ場所にコピーし、ソース管理でチェックアウトを元に戻します。その後、バックアップした変更を後で再導入することができます。私はそれが複数のソース管理システムで動作すると信じています。誰かが私が説明しようとしているプログラムを知っていますか?ソース管理の「stash」のようなプログラムについて知っていますか?

私の尋ねる目的は2つあります。最初は、これを行う良い方法を見つけることです。 2番目の理由は、そのプログラムが何であったのか覚えていないと私は狂っている。

+0

私はこれまでに多くの良い回答を得ています。私が考えていた正確なプログラムのリストはありません。それはおそらく、ここにリストされているものほど有用ではないと私に伝えています。ありがとう! – Greg

答えて

1

あなたが考えている製品は、SmartBear Softwareの "CodePickle"です。しかし、それは中断された製品のようです。

あなたが探している機能の種類に使用されているように見える用語は、「シェルビング」のようです。

マイクロソフトのチームシステムには「棚」機能があります。

PERFORCEはSubversionのためのいくつかの「棚上げ」のツールがありますp4tarp4 shelve

を含むいくつかのサポートされていないスクリプトを、持っていますが、私は彼らがどのように堅牢なのか分かりません。

+0

ええ、それだけです! – Greg

6

Gitリポジトリ:http://git-scm.com/docs/git-stashhttp://git-scm.com/

あなたは一時的に変更のあなたの現在のセットを片付けるためにgit stashを使用することができます。これにより、変更がローカルに(コミットせずに)保存され、後でそれらを作業コピーに再導入することができます。

Gitは商業的ではありませんが、すぐにSubversionのようなツールから多くの変換を得ています。

+0

これはGitではありませんでしたが、私はそれをチェックします! – Greg

1

私はgitユーザーではありませんが、私の同僚の何人かは、この目的のために正確に好きなようです。彼らは会社で使われているSCMシステムに "本当の"変更を加えるためにさまざまなgitラッパーを使いますが、自分のドライブにプライベートgitリポジトリを置いて、コミットしたくない変更を保つことができます。

会社のSCMサーバーにコミットする準備ができたら、それらは単に上流に合流してコミットします。それはあなたがやろうとしていることですか?

1

プライベートブランチにプライベートな変更を保存することをお勧めしません。 svn switchメインブランチに変更する必要があるときはいつでも?

+0

はい、そうかもしれません。 – Greg

1

MercurialにはShelve Extensionがあります。

本当に必要な場合は、1つのファイルから変更したいファイルを選択することもできます。

0

Darcsには、隠したい変更を記録しないでください(新しいパッチを記録するときは、それぞれの変更を個別に含めることを頼む)か、アップストリームにプッシュしない別々のパッチに入れてください。

ローカルプライベートレポジスをpublic/upstream/otherと完全に同期させる必要はありません。他の場所にプッシュしたいパッチをチェリーするだけです。パッチを選択することもパターンで行うことができるので、隠しパッチの命名規則を採用すれば、簡単にすべてを押すことができます。

このように、私的な変更は依然としてリビジョン管理にありますが、あなたが望むまで共有されません。

0

をそしてそこに古いフォールバック...「パッチは」だ、あるいは古いが、「別の場所にすべてをコピーし、その後、元に戻します」 。

これらの両方は、ほとんどのVCSシステムの一部であるツールを使用するよりもあまり便利ではありません。