Будучи разработчиком в течение нескольких лет, я должен знать это, но не знаю.
Я работаю над выпущенным продуктом на небольшом команда. Я являюсь основным разработчиком, выполняющим большую часть кода, но есть пара других разработчиков, которые время от времени делают коммиты. В данный момент, у нас есть промежуточный сервер, на котором запущен Hudson CI, который строится после каждой фиксации. Производство обновляется вручную с помощью простой команды svn up, когда ствол стабилен и протестирован.
В целом это работало нормально, за исключением ситуаций, требующих экстренного / срочного изменения производственной линии, когда код не доработан в стволе.
Как я могу настроить репо для этой ситуации? Я думал , что этот ответ был хорошим ответом, но он все еще немного выше моей головы.
Я думаю, при обновлении производственной среды создайте ветку в этой ревизии. Однако, если мне нужно внести срочные производственные исправления, как мне получить доступ к этой ветке и как я могу обновить производственную среду, потянув ее из этой ветки, а не из ствола? Как мне убедиться, что любые срочные исправления для производственной ветви также зафиксированы в основной ветви?
т.е. Это приложение AIR, которое считывает ресурсы с USB-ключа и должно работать как с WIN, так и с MacOS. ...
Еще один вопрос об Adobe Air, но сначала немного предыстории проекта, над которым я работал. Это приложение AIR, которое считывает ресурсы с USB-ключа и должно работать как с WIN, так и с MacOS. Проблема в том, как загрузить ресурсы в приложение на MacOS! Звучит достаточно просто и без проблем работает в Windows.
Вот фрагмент кода, который я пытаюсь сделать:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String;
if (os == "mac")
{
p = "/Volumes/" + keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
else
{
p = keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + p;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(p));
... переменная OS и keyVolume успешно устанавливаются в предыдущем коде. Кроме того, у меня есть обратные вызовы прослушивателя событий, определенные также для ok () и ioErro ().
Когда он запускается, он распечатывает в Windows:
Попытка загрузить: G: \ 0a0ff0ff-f7ae-4b9c-9637 -843b1d6c80e8.jpg
Еще один вопрос по Adobe Air, но сначала немного предыстории проекта, над которым я работал. Это приложение AIR, которое считывает ресурсы с USB-ключа и должно работать как с WIN, так и с MacOS. Проблема в том, как загрузить ресурсы в приложение на MacOS! Звучит достаточно просто и без проблем работает в Windows.
Вот фрагмент кода, который я пытаюсь сделать:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String;
if (os == "mac")
{
p = "/Volumes/" + keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
else
{
p = keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + p;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(p));
... переменная OS и keyVolume успешно устанавливаются в предыдущем коде. Кроме того, у меня есть обратные вызовы прослушивателя событий, определенные также для ok () и ioErro ().
Когда он запускается, он распечатывает в Windows:
Попытка загрузить: G: \ 0a0ff0ff-f7ae-4b9c-9637 -843b1d6c80e8.jpg
Еще один вопрос по Adobe Air, но сначала немного предыстории проекта, над которым я работал. Это приложение AIR, которое считывает ресурсы с USB-ключа и должно работать как с WIN, так и с MacOS. Проблема в том, как загрузить ресурсы в приложение на MacOS! Звучит достаточно просто и без проблем работает в Windows.
Вот фрагмент кода, который я пытаюсь сделать:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String;
if (os == "mac")
{
p = "/Volumes/" + keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
else
{
p = keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + p;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(p));
... переменная OS и keyVolume успешно устанавливаются в предыдущем коде. Кроме того, у меня есть обратные вызовы прослушивателя событий, определенные также для ok () и ioErro ().
Когда он запускается, он распечатывает в Windows:
Попытка загрузить: G: \ 0a0ff0ff-f7ae-4b9c-9637 -843b1d6c80e8.jpg
как загрузить активы в приложение на MacOS! Звучит достаточно просто и без проблем работает в Windows.
Вот фрагмент кода, который я пытаюсь сделать:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String;
if (os == "mac")
{
p = "/Volumes/" + keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
else
{
p = keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + p;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(p));
... переменная OS и keyVolume успешно устанавливаются в предыдущем коде. Кроме того, у меня есть обратные вызовы прослушивателя событий, определенные также для ok () и ioErro ().
Когда он запускается, он распечатывает в Windows:
Попытка загрузить: G: \ 0a0ff0ff-f7ae-4b9c-9637 -843b1d6c80e8.jpg
как загрузить активы в приложение на MacOS! Звучит достаточно просто и без проблем работает в Windows.
Вот фрагмент кода, который я пытаюсь сделать:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String;
if (os == "mac")
{
p = "/Volumes/" + keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
else
{
p = keyVolume.rootDirectory.name + File.separator + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
}
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + p;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(p));
... переменная OS и keyVolume успешно устанавливаются в предыдущем коде. Кроме того, у меня есть обратные вызовы прослушивателя событий, определенные также для ok () и ioErro ().
Когда он запускается, он распечатывает в Windows:
Попытка загрузить: G: \ 0a0ff0ff-f7ae-4b9c-9637 -843b1d6c80e8.jpg
Существует ли: true
... и затем успешно загружает актив.
В MacOS он выводит:
Попытка загрузить: / Volumes / AC / 0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8. jpg
Он существует: true
... и затем каждый раз выдает ошибку IOError.
Может ли кто-нибудь увидеть что-то, чего я здесь упускаю? Есть ли у меня какая-то ошибка разрешения или что-то в этом роде (файл имеет доступ для чтения / записи). USB-ключ отформатирован в MS-DOS FAT32, может ли это быть проблемой?
EDIT
Я отформатировал новый USB-ключ в MacOS в FAT16 и безуспешно поместил на него файлы. Проблемы остаются.
РЕДАКТИРОВАТЬ
Сейчас я просто пытаюсь загрузить ресурс из / users / -USERNAME- / Desktop, но все еще получаю ту же ошибку, поэтому похоже, что это проблема не только для USB-накопитель, он более распространен.
РЕДАКТИРОВАТЬ
ПРОБЛЕМА РЕШЕНА! Я наконец правильно сформулировал свой поиск в Google, и он показал ответ .
Эти изменения решат проблему:
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, ok);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
var p:String = keyVolume.rootDirectory.nativePath + ((os == "mac") ? File.separator : "") + "0a0ff0ff-f7ae-4b9c-9637-843b1d6c80e8.jpg";
var temp:File = new File(p);
Debugger.Display.text += "\nAttempting to load: " + temp.url;
Debugger.Display.text += "\nDoes it exist? " + temp.exists;
loader.load(new URLRequest(temp.url));
Я также немного уточнил логическое утверждение, касающееся обнаружения ОС.
Надеюсь, кто-то сочтет это полезным!