Не уверенный, как спросить это. Я хочу положиться на сформировавшееся и активно обновил проект с открытым исходным кодом, с помощью него в качестве основы, чтобы настроить и извлечь уроки из. Я хотел бы смочь добавить код к своему локальному источнику, но смочь обновить базовый источник, когда он улучшается при сохранении моего добавлять ons.
Цель состоит в том, чтобы всегда сохранять основу актуальной, и добавление моего кода к обновленной сборке (вместо того, чтобы быть перезаписанным с изменениями, как я предположил бы, произошел бы, если бы я просто отредактировал источник, как).
Существует ли способ 'исправить' мой код на обновленный код проекта, поэтому когда базовый источник обновляется с svn, мои изменения остались бы независимыми от основы? Я уверен, что существует простой способ сделать это, но я плохо знаком с управлением programming/svn/version и не имею подсказки, какой или где посмотреть.
То, что вы ищете, называются Филиалы Vendor SVN .
В основном вы держите отдельную ветвь в своем репозитории для базовых версий только для проекта, а затем объединить изменения между версиями проекта в ваш багажник.
Например:
svn import ./projectdir svn://repourl/project/branches/vendor/current/ -m 'Home for current core version of source code'
svn copy svn://repourl/project/branches/vendor/current/ svn://repourl/project/branches/vendor/1.0.0/ -m '1.0.0 tag of core source code'
svn copy svn://repourl/project/branches/vendor/current/ svn://repourl/project/trunk/ -m 'Initial trunk commit of 1.0.0'
Что мы имеем сейчас:
Теперь, скажем, вы работали над проектом в течение нескольких месяцев и сделали кучу обновлений проекта в вашем багажнике. Версия 1.1.0 ядра выходит, и вы хотите воспользоваться некоторыми новыми функциями, не теряя существующую работу.
Вы можете использовать свои венды поставщика для этого.
svn co svn://repourl/project/branches/vendor/current/ ./project
* Экстракт версии 1.1.0 на верхней части рабочей копии *
svn status | grep -E '^?' | xargs svn add # add all new files/directories to the project
svn status | grep -E '^!' | xargs rm -rf # remove all files/directories from the project that have been deleted
svn commit -m 'Version 1.1.0 of the core code'
svn copy svn://repourl/project/branches/vendor/current/ svn://repourl/project/branches/vendor/1.1.0 -m 'Tag for 1.1.0'
rm -rf ./project
Теперь, что у нас есть? У нас есть:
Итак, что нам нужно сделать? Простая слияние.
svn co svn://repourl/project/trunk ./project
svn merge svn://repourl/branches/vendor/1.0.0 svn://repourl/branches/vendor/1.1.0 ./project
То, что вы говорите, SVN сделать в строке выше, по сути: «Найти различия между версией 1.0.0 проекта и 1.1.0 проекта, а затем объединить эти различия в мою модифицированную версию проекта».
Для большинства файлов слияние будет гладким и безболезненным. Для других, что и вы, и сообщество, в то же время модифицировали, SVN будет жаловаться на конфликты. Если вы не сделали действительно огромных изменений, эти конфликты не должны быть трудно объединиться. Я рекомендую выбрать « p « Для «разрешения отложенного конфликта» и разрешение их с использованием TortoiseSVN. Это намного легче сделать так.
Как только ваши конфликты все будут решены, идите вперед и проверьте приложение. Если все работает, как ожидалось, продолжайте и SVN Commit
Ваша рабочая копия.
... и вы закончили!
Некоторые более справочные материалы на тему:
Введите здесь код
Если упростить (для теста)
$('#'+newId).dialog({autoOpen: true, modal: true, width:width });
и сделать так:
$('#SaisieARModal').dialog({autoOpen: true, modal: true, width:width });
появится модальный?
Вы также пробовали вариант bgiframe: true
?
Не уверены, что что-то из этого полностью актуально, но что-то ставит (скорее всего) селектор даты за модальные вещи где-то.
EDIT: Еще одна вещь, если изменить
$(function() { $("#MytextInputID").datepicker({ dateFormat: 'dd/mm/yy' }); });
на
$(function() {
$("#MytextInputID").datepicker({ dateFormat: 'dd/mm/yy' });
$("#MytextInputID").click(function(){alert("working");});
});
, появится ли предупреждение?
-121--2669386-может просто использовать эти две функции:
void renderstring2d(char string[], float r, float g, float b, float x, float y)
{
glColor3f(r, g, b);
glRasterPos2f(x, y);
for(unsigned int i = 0; i < strlen(string); i++)
glutBitmapCharacter(GLUT_BITMAP_9_BY_15, string[i]);
}
void renderstring3d(char string[], float r, float g, float b, float x, float y, float z)
{
glDisable(GL_LIGHTING);
glColor3f(r, g, b);
glRasterPos3f(x, y, z);
for(unsigned int i = 0; i < strlen(string); i++)
glutBitmapCharacter(GLUT_BITMAP_9_BY_15, string[i]);
}
, тогда при визуализации 2D текста не забудьте сбросить матрицы вида модели и проекции.
glMatrixMode(GL_MODELVIEW);
glPushMatrix();
glLoadIdentity();
glMatrixMode(GL_PROJECTION);
glPushMatrix();
glLoadIdentity();
// Render text and quads
glPopMatrix();
glMatrixMode(GL_MODELVIEW);
glPopMatrix();
Нет необходимости выполнять рендеринг для квадрата с использованием этих функций, поскольку эти функции выполняют рендеринг непосредственно для буфера кадров.
И если это не сработает для вас, проверьте это. http://www.opengl.org/resources/faq/technical/fonts.htm
Речь идет о визуализации текста с использованием glBitmap, glDrawPixels и альфа-наложения.
-121--1195912-Можно установить систему управления версиями локально.
Заполните его копией источника с сервера проекта.
Затем внесите изменения в дополнение к этому.
После обновления ссылочного проекта получите новую копию, а затем объедините изменения в измененный код. Именно это зависит от выбранной системы управления версиями.
Однако, если система управления версиями проекта поддерживает ветвление (что необходимо), можно создать ветвь на их сервере и объединить их, что может быть намного проще.
Способ сделать это в SVN - проверить рабочую копию кода, внесите изменения в рабочую копию, а затем, когда вы SVN Обновление
, он будет схватить самую последнюю версию Код из репозитория, пока не будешь держать ваши местные изменения. Это уведомит вас, если есть какие-либо конфликты.
Я думаю, что ответы, которые относятся к разветвлению и объединению и распределенных системах управления версиями (а именно. Mercurial, Git) являются более сложными, чем то, что вам нужно.
В то время как лично я сделаю это через Mercurial, вы можете посмотреть в инструмент инструмент .
Это выглядит, чтобы ваша упреждаемая ровно соответствует механизму механизма Mercurial . Я бы сказал, что даже для полной новичкой к Mercurial это чертовски легко настроить и поддерживать.
Ближайшее, что я могу придумать, это начать с открытого исходного текста в стволе вашего SVN-репозитория, затем создать в нём ответвление и внести изменения в ответвление. Когда код OSS будет обновлен, вы обновите ствол с помощью этого, а затем выполните слияние до вашего ответвления из ствола. В этот момент вы разрешили бы любые конфликты, которые могли возникнуть между тем, что они изменили, и тем, что вы изменили, по существу "исправляя" их изменения в вашем коде.
Используйте другую, современную систему управления версиями. Хорошим кандидатом будет git, который используется для разработки ядра Linux по всему миру. ветвление и слияние происходит гораздо естественнее, чем при использовании svn.