バイナリとソースを含む.zipファイルにパッケージ化したいオープンソースプロジェクトがあります。プロジェクトはCodePlexでホストされ、TFSをソースコントロールとして使用します。私はどのようにすべてのソース管理バインディングを削除するプロジェクトをエクスポートするか分からない。そうすれば、人々は簡単にログインプロンプトを表示せずにローカルでソリューションを開くことができます。この機能はGitのExportと呼ばれていますが、Teamで同じことをする方法がわかりません。TFSからアンバウンドソリューションを入手する
答えて
This blog postは、ソース管理フォルダ上で実行することができ、次のPowerShellスクリプトが含まれており、ファイルからソース管理のバインディングを削除します:
# Remove unnecessary files
get-childitem . -include *.vssscc,*.user,*.vspscc,*.pdb,Debug -recurse |
%{
remove-item $_.fullname -force -recurse
}
# Remove the bindings from the sln files
get-childitem . -include *.sln -recurse |
%{
$file = $_;
$inVCSection = $False;
get-content $file |
%{
$line = $_.Trim();
if ($inVCSection -eq $False -and $line.StartsWith('GlobalSection') -eq $True -and $line.Contains('VersionControl') -eq $True) {
$inVCSection = $True
}
if ($inVCSection -eq $False) {
add-content ($file.fullname + '.new') $_
}
if ($inVCSection -eq $True -and $line -eq 'EndGlobalSection') {
$inVCSection = $False
}
}
mv ($file.fullname + '.new') $file.fullname -force
}
# Remove the bindings from the csproj files
get-childitem . -include *.csproj -recurse |
%{
$file = $_;
get-content $file |
%{
$line = $_.Trim();
if ($line.StartsWith('<Scc') -eq $False) {
add-content ($file.fullname + '.new') $_
}
}
mv ($file.fullname + '.new') $file.fullname -force
}
ソースコントロールのバインディング情報は、VSプロジェクトおよびソリューションファイルの一部であり、削除することは困難です。しかし、私が知っている2つの選択肢があります:
プロジェクトを "取得"した場合、ソースフォルダを別の場所にコピー/移動し、ソリューションを再度開くと、VSはソース管理バインディングを削除します。
これを行うには、VSでソース管理ソリューションを開き、[ファイル/ソース管理/ソース管理の変更]をクリックします。このダイアログには、各プロジェクトのバインディングを削除する「バインド解除」ボタンがあります。
(警告:VS2010上でテストされ、あなたが使用しているどのバージョンかわからない。)
私はTFS 2010を使用しています。バインドを解除するだけの問題の1つは、生成されたobj /およびbin/foldersのコピーを避けたいということです。 –
あなたは取得することができ、バインドを解除する前にビルドすることはできません。 1台のマシンに2つ目のワークスペースを設定して、バインド解除に使用することは可能です。 (巧妙なスクリプティングのほんの一部が、おそらくそれを十分に簡単に自動化するでしょう。) –
あなたはコピーする前にそれらをいつもきれいにすることができます。 Visual StudioでCleanを実行するといくつかのファイルが取得されますが、確かめたい場合は、このコマンドを追加して、ファイルエクスプローラで右クリックオプションを追加して、binとobjの再帰的な削除を行います。この例は.svnフォルダ用ですが、必要に応じて簡単に変更できます。 http://weblogs.asp.net/jongalloway//shell-command-remove-svn-folders –
TFSが結合することなく、ソースコードのエクスポートをサポートしていません。 Dan Puzeyが述べたように、ソースコントロールのコピーを作成し、ソースコントロールバインディングを削除するだけで済みます。
私の特定のプロジェクトでは、単にファイルをコピーし、TFSに関連するものはすべて削除しました。私はこれを、オープンソースプロジェクトのTeamCityで使用していた配置構成の一環として実行していました。
私はこのプロジェクトをGitに切り替えるつもりです。
ここで代替答えがあります。
ソリューションをある場所から別の場所にコピーして貼り付けて、新しい場所で開くときにソース管理に接続するように求められません。
「ファイル」 - >「ソース管理」 - >「詳細」 - >「ソース管理の変更」を選択すると、バインド解除機能はありません。だから、私はテキストエディタでソリューションファイルを開き、次のセクションを削除しました:
GlobalSection(TeamFoundationVersionControl) = preSolution
....
EndGlobalSection
と思われます。私はそれが誰かを助けることを望む。
- 1. TFSだけ入手する
- 2. TFS 2010ビルドエージェント:tfsプロキシから最新のコードを入手することは可能ですか?
- 3. TFS 2013からのTFS復元手動で取られたバックアップ
- 4. TFSから複数バージョンの差分レポートを入手できますか?
- 5. TFS 2015ビルドタスク - 手動の介入
- 6. Jenkinsから手動でTFSビルドを起動する方法
- 7. tfsから最新のものを入手し、バッチファイルからソリューションを構築する
- 8. TFS APIで特定のビルドを入手する方法
- 9. Microsoft.TeamFoundation.Framework.Client.TeamFoundationIdentity TFS API 2013を入手するには?
- 10. TFS +最新のものを入手する
- 11. MP3からアルバムアートを入手するPHP
- 12. TfidfVectorizerから全文を入手する
- 13. JSからシェルスクリプトを入手する
- 14. perlスクリプトからシェルスクリプトを入手する
- 15. エイリアスからインストーラパッケージを入手
- 16. 印刷されたasciiArt charから手紙を入手する
- 17. TFS最新のものを入手しない
- 18. TFS 2017 Update1:TFSリリース定義をプログラムで更新するとサーバーフェーズが削除される(手動介入)
- 19. 手動介入後にTFSリリースを再開/拒否する機能
- 20. TFSビルドエージェントのユーザー機能はビルドステップ内で入手できますか?
- 21. TFS - TFS 2017からTFS 2010のテンプレートを使用する[migration TFS 2017 to 2010]
- 22. distutilsセットアップコールからディストリビューションを入手
- 23. .GlobalsからR Shiny Serverを入手
- 24. O365ワッフルメニューからユーザーのアプリケーションを入手
- 25. PEMから秘密鍵を入手
- 26. jsonから数量を入手
- 27. Java Setからアイテムを入手
- 28. 他のAPKからリソースを入手
- 29. Julia - URLからHTMLを入手
- 30. メールアドレスから@ gmail.comを手に入れて
Woot Woot!私はこのスクリプトを使って、TFSのソース管理を良くするようにしました。 – hylander0
次の批判はMSに向けられています:これは組み込み機能であるべきです。このようなロックインは必要ありません。 –
恐ろしいスクリプト!ありがとう –