The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как в SVN изменить старый файл"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Как в SVN изменить старый файл"  
Сообщение от Алексей email(??) on 07-Июн-08, 23:21 
Вопрос по Subversion.
Допустим у меня первоначальная версия файла А, затем от нее отделились ветки А1 и А2.
После определенного этапа я понял что  в файле А есть опечатка, которая перешла во все ветки.
Я пытаюсь изменить файл А, получив из репозитария его вид до отделения от него веток.
Но при попытке сохранить он сохраняется как новая версия, а старая как была так и осталась.
Как  обновить старый релиз файла А в SVN.
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как в SVN изменить старый файл"  
Сообщение от PavelR (??) on 08-Июн-08, 08:25 
>Вопрос по Subversion.
>Допустим у меня первоначальная версия файла А, затем от нее отделились ветки
>А1 и А2.
>После определенного этапа я понял что  в файле А есть опечатка,
>которая перешла во все ветки.
>Я пытаюсь изменить файл А, получив из репозитария его вид до отделения
>от него веток.
>Но при попытке сохранить он сохраняется как новая версия, а старая как
>была так и осталась.

А дальше ты обновляешь все ветки, которые тебе надо, командой svn merge.

>Как  обновить старый релиз файла А в SVN.

ИМХО правильный процесс разработки заключается в выделении центрального ствола разработки и обмена изменениями между ветками и стволом в обе стороны.

первоначальная версия развивается в одной ветке, в trunk (А)

Затем от неё отпочковываются девелоперские ветки, например А1 и А2

Релизы продукта делаются из основной ветки А, либо из дополнительной релизной ветки.

Изменения при этом мержатся из А1 и А2 в транк А, откуда делаются релизы, либо из транка они мержатся всем скопом в релизную ветку, и релиз делается уже оттуда.

При этом нужно чаще закрывать А1 и А2 и обновлять их созданием заново из основной ветки А.
Сделал какую-то атомарную работу, слил изменения, обновил исходник до свежей версии.

Если делается несколько версий продукта, то вся эта картина смещается на уровень ниже, появляются основные ветки для каждой версии и общий ствол всей разработки. Обмен изменениям тогда делать сложнее, но оно и в принципе правильно - это же всё-таки две разные версии ( для случая 1.х.х и 2.х.х, а  не 1.х и 1.х+1 )

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Как в SVN изменить старый файл"  
Сообщение от Алексей email(??) on 10-Июн-08, 23:13 
>А дальше ты обновляешь все ветки, которые тебе надо, командой svn merge.

Завтра попробую

>>Как  обновить старый релиз файла А в SVN.
>ИМХО правильный процесс разработки заключается в выделении центрального ствола разработки и обмена
>изменениями между ветками и стволом в обе стороны.

Согласен, но вопрос о случае когда все отпочковавшиеся ветки имеют общую ошибку унаследованную от главной, их могут быть десятки. Исправлять в каждой ветке довольно долго.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Как в SVN изменить старый файл"  
Сообщение от Алексей email(??) on 13-Июн-08, 21:58 
Не прокатило, старая версия как была так и осталась и изменения в ветки не перенеслись.
После merge просто создалась новая версия основной ветки.
Я пришел к выводу что старую версию изменить нельзя, т.к. тогда нарушится история хранения версий или что-то делаю не так?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Как в SVN изменить старый файл"  
Сообщение от PavelR (??) on 13-Июн-08, 23:13 
>Не прокатило, старая версия как была так и осталась и изменения в
>ветки не перенеслись.
>После merge просто создалась новая версия основной ветки.
>Я пришел к выводу что старую версию изменить нельзя, т.к. тогда нарушится
>история хранения версий или что-то делаю не так?

команда merge создает новую версию. Новую версию той ветки, в которую мержатся изменения.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Как в SVN изменить старый файл"  
Сообщение от PavelR (??) on 13-Июн-08, 23:11 
>[оверквотинг удален]
>
>Завтра попробую
>
>>>Как  обновить старый релиз файла А в SVN.
>>ИМХО правильный процесс разработки заключается в выделении центрального ствола разработки и обмена
>>изменениями между ветками и стволом в обе стороны.
>
>Согласен, но вопрос о случае когда все отпочковавшиеся ветки имеют общую ошибку
>унаследованную от главной, их могут быть десятки. Исправлять в каждой ветке
>довольно долго.

достаточно исправить в релизных ветках.

разработческие ветки всеравно должны периодически от неё обновляться.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Как в SVN изменить старый файл"  
Сообщение от Алексей email(??) on 16-Июн-08, 22:44 

>достаточно исправить в релизных ветках.
>
>разработческие ветки всеравно должны периодически от неё обновляться.

спасибо, теперь все ясно.
т.е. автоматически (изменить корень) изменения провести не получится.
придется потом все остальные ветки с основной веткой сравнить чтоб устранить опечатку.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Как в SVN изменить старый файл"  
Сообщение от PavelR (??) on 17-Июн-08, 09:41 
>
>>достаточно исправить в релизных ветках.
>>
>>разработческие ветки всеравно должны периодически от неё обновляться.
>
>спасибо, теперь все ясно.
>т.е. автоматически (изменить корень) изменения провести не получится.
>придется потом все остальные ветки с основной веткой сравнить чтоб устранить опечатку.
>

Фишка в том, что не надо _все остальные_ ветки сравнивать, поскольку в основные ветки попадают только _изменения_ из разработческих веток. Достаточно изменить "опечатку" только в релизных ветках, и всё, прочие изменения из разработческих веток эту опечатку уже не сотрут. А девелоперские ветки подхватят изменение этой опечатки когда они будут обновляться из центральной ветки, для того чтобы подхватить и изменения, внесенные прочими разработчиками.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Как в SVN изменить старый файл"  
Сообщение от Алексей email(??) on 17-Июн-08, 21:19 
>[оверквотинг удален]
>>т.е. автоматически (изменить корень) изменения провести не получится.
>>придется потом все остальные ветки с основной веткой сравнить чтоб устранить опечатку.
>>
>
>Фишка в том, что не надо _все остальные_ ветки сравнивать, поскольку в
>основные ветки попадают только _изменения_ из разработческих веток. Достаточно изменить "опечатку"
>только в релизных ветках, и всё, прочие изменения из разработческих веток
>эту опечатку уже не сотрут. А девелоперские ветки подхватят изменение этой
>опечатки когда они будут обновляться из центральной ветки, для того чтобы
>подхватить и изменения, внесенные прочими разработчиками.

Я о том что не изменится опечатка в прошлых версиях, в любом случае создается новый релиз.
А ветки сравнить все равно придется, иначе будет конфликт при слиянии.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Как в SVN изменить старый файл"  
Сообщение от angra (ok) on 18-Июн-08, 03:45 
Похоже вам стоит заново открыть доку по subversion и перечитать описание идеологии и концепций. То, чего вы хотите, не будет работать by design.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру