Как настроить репозиторий SVN для аварийных исправлений?

Будучи разработчиком в течение нескольких лет, я должен знать это, но не знаю.

Я работаю над выпущенным продуктом на небольшом команда. Я являюсь основным разработчиком, выполняющим большую часть кода, но есть пара других разработчиков, которые время от времени делают коммиты. В данный момент, у нас есть промежуточный сервер, на котором запущен 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));

Я также немного уточнил логическое утверждение, касающееся обнаружения ОС.

Надеюсь, кто-то сочтет это полезным!

6
задан nokturnal 5 February 2011 в 02:58
поделиться