http://githowto.com/ru
мои изменения в коде как-то надо с ними связать
git commit <file> -m "Comment"
что если обновлять Git и SVN
как собрать Блендер более ранней версии
git checkout <revision_hash/tag>
Объясните, пожалуйста, что такое патч исходного кода, и как его создать и применять?
У разработчиков принято не изменять исходный код финальной версии. Все изменения в финальную версию вносятся с помощью патчей. Это касается всего: и новых плюшек, и исправленных ошибок.
Для создания патча применяется утилита diff. Как она работает, лучше всего разобраться на простом примере:
Создаём для примера папку patch, в ней файл source.txt
one
two
three
for
five
six
seven
Изменяем файл, внеся в него дополнение:
one
two
three
for
five
six
seven
eight
Изменённый файл сохраняем в этой же папке под именем modern.txt
Теперь можно посмотреть, как работает утилита diff. Переходим в консоли в папку patch и запускаем утилиту diff с двумя аргументами. Первый аргумент - исходный файл, второй - изменённый.
[leonid@localhost ~]$ cd /home/leonid/build/patch
[leonid@localhost patch]$ diff source.txt modern.txt
7a8
> eight
[leonid@localhost patch]$ eight - это разница в текстах.
Если написать в консоли
diff source.txt modern.txt > patch.txt
то результат будет выведен ни в консоль, а в файл.
Если указать после diff дополнительные параметры, то файл различий будет записан в особом формате, который можно затем использовать как патч.
Собственно, вот статья
http://imguru.ru/page/kak-sozdat-patch
Плохая статья. :)
Вот такая команда создаёт патч, который обычно используется
diff -urp source.txt modern.txt > patch.diff
Если открыть полученный файл, то мы увидим в нём вот такой вот текст:
--- source.txt 2015-12-03 19:33:49.540869618 +0300
+++ modern.txt 2015-12-03 19:34:13.647759801 +0300
@@ -5,3 +5,4 @@ for
five
six
seven
+eight
+eight - добавленная строчка. Выше и ниже добавленного всегда публикуется несколько неизменённых строчек, чтобы можно было ориентироваться.
Если строчка удалена, то перед ней будет стоять знак минус.
Хорошо... получилось с помощью команды git diff HEAD >> me.txt создать файл me.txt
Содержимое me.txt:
diff --git a/source/blender/blenkernel/BKE_texture.h b/source/blender/blenkernel/BKE_texture.h
index 95918b9..91f6c7d 100644
--- a/source/blender/blenkernel/BKE_texture.h
+++ b/source/blender/blenkernel/BKE_texture.h
@@ -56,7 +56,7 @@ struct VoxelData;
struct World;
/* in ColorBand struct */
-#define MAXCOLORBAND 32
+#define MAXCOLORBAND 256 /* было 32 */
void init_colorband(struct ColorBand *coba, bool rangetype);
diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h
index 2843d01..cba775b 100644
--- a/source/blender/makesdna/DNA_texture_types.h
+++ b/source/blender/makesdna/DNA_texture_types.h
@@ -118,7 +118,7 @@ typedef struct ColorBand {
char color_mode;
char pad[1];
- CBData data[32];
+ CBData data[256]; /* было 32 */
} ColorBand;
typedef struct EnvMap {
diff --git a/source/blender/makesrna/intern/rna_color.c b/source/blender/makesrna/intern/rna_color.c
index c418ef3..5469c56 100644
--- a/source/blender/makesrna/intern/rna_color.c
+++ b/source/blender/makesrna/intern/rna_color.c
@@ -966,7 +966,7 @@ static void rna_def_color_ramp(BlenderRNA *brna)
RNA_def_property_int_sdna(prop, NULL, "tot");
/* needs a function to do the right thing when adding elements like colorband_add_cb() */
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_range(prop, 0, 31); /* MAXCOLORBAND = 32 */
+ RNA_def_property_range(prop, 0, 255); /* MAXCOLORBAND = 32 */
RNA_def_property_ui_text(prop, "Total", "Total number of elements");
RNA_def_property_update(prop, 0, "rna_ColorRamp_update");
#endif
Допустим, теперь я обновляю репозитарий Блендера... какие дальше действия, чтоб me.txt учитывался, когда буду снова конфигурировать проект с помощью Cmake ? Помогите советом, пожалуйста.
Предупреждение: в данной теме не было сообщений более 120 дней.
Если Вы не уверены, что хотите ответить, то лучше создайте новую тему.
Уверен, что новую тему создавать не нужно.
Где искать ошибку?
Собирал последний релиз из исходников - сборка остановилась вот тут:
Linking C static library ../../../lib/libbf_blenkernel.a
[ 52%] Built target bf_blenkernel
Makefile:147: ошибка выполнения рецепта для цели «all»
Скачал Git-версию. - сборка далеко не уехала:
Linking C static library ../../../lib/libbf_blenkernel.a
[ 52%] Built target bf_blenkernel
[ 52%] Building CXX object source/blender/depsgraph/CMakeFiles/bf_depsgraph.dir/intern/depsgraph_query.cc.o
[ 52%] Building CXX object source/blender/depsgraph/CMakeFiles/bf_depsgraph.dir/intern/depsgraph_tag.cc.o
[ 52%] Building CXX object source/blender/depsgraph/CMakeFiles/bf_depsgraph.dir/intern/depsgraph_type_defines.cc.o
Linking CXX static library ../../../lib/libbf_depsgraph.a
[ 52%] Built target bf_depsgraph
Makefile:147: ошибка выполнения рецепта для цели «all»
make: *** [all] Ошибка 2
[leonid@localhost blend_so]$