У меня была общая папка «PhoneGap» и VS-решение, а затем в подкаталогах «iOS» и «Android», , отдельную базу кода для каждой платформы со всеми соответствующими рабочими пространствами Xcode и Eclipse. Это было связано с любыми настройками, специфичными для устройства, или тестирование через эмуляторы.
Пока, прямолинейно.
Я думаю, что я решил против символических ссылок из-за проблем с OS X? Не могу вспомнить.
В то время я использовал TFS, поэтому я написал консольное приложение, которое в ходе выполнения реплицирует ваши ожидающие изменения в TFS в любые подкаталоги, которые вы настроили. Это означало бы, что все 3 кодовые базы будут обновляться вместе. Я решил не автоматизировать этот шаг и позволить пользователю управлять, если их изменения реплицируются, запустив консольное приложение. Приложение могло добавлять, редактировать или удалять существующие файлы там, где это необходимо, и у меня также был «черный список» файлов для игнорирования, который включал cordova.js
.
Это не займет слишком много времени, чтобы постучать вверх на всех, в документации MSDN разумно: http://msdn.microsoft.com/en-us/library/bb138973.aspx http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.workspace.pendadd.aspx
Вот отрывок:
var teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://dev:8080/tfs/MyCollection"));
versionControlServer = teamProjectCollection.GetService(typeof(VersionControlServer)) as VersionControlServer;
var pendingSets = versionControlServer.QueryPendingSets(new string[] { "$/" }, RecursionType.Full, workspaceInfo.Name, workspaceInfo.OwnerName);
if (pendingSets.Length > 0)
{
var allPendingChanges = pendingSets[0].PendingChanges;
}
...
Это пространство имен:
using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.VersionControl.Client;
У меня действительно нет обертки для проекта. Обычно я использую версию www-папки в Subversion. Тогда у меня есть папка внутри www с файлами, которые меняются в зависимости от того, что это iOS или Android, например, файлы конфигурации cordova.js или javascript. Но в стороне, что я действительно не делаю больше. – axierjhtjz