Как объединить два файла с историей коммитов? - PullRequest
0 голосов
/ 31 октября 2019

В нашем репозитории есть несколько файлов, которые экспортируются из приложения, которое мы используем. До недавнего времени каждый раз, когда создавался новый файл экспорта, файл копировался / вставлялся в хранилище и фиксировался, поэтому история версий и фиксации находились в одном файле.

Однако создается впечатление, что кто-то скопировал / вставилсамые последние файлы экспорта в репозиторий с именами, которые включали дату (я предполагал для дополнительной версии), добавили файлы и зафиксировали их, создав отдельную версию и историю фиксации.

Итак, вот примеркак это выглядело изначально (указанная ревизия является последней ревизией для файла):

Alfa.abc                 (Revision 100)
Bravo.abc                (Revision 135)
Charlie.abc              (Revision 117)

Вот пример того, как это выглядит сейчас (ревизия, указанная для файлов с датами, является единственной ревизией дляэтот файл):

Alfa.abc                 (Revision 100)
Alfa_10052019.abc        (Revision 152)
Bravo.abc                (Revision 135)
Bravo_10062019.abc       (Revision 154)
Charlie.abc              (Revision 117)
Charlie_10012019.abc     (Revision 141)
Charlie_10102019.abc     (Revision 177)

Итак, во 2-м примере Charlie.abc и Charlie_10012019.abc и Charlie_10102019.abc - это разные ревизии, а инкрементное изменение от ревизии, которая предшествует этому (177 - это ревизия141 - это редакция 117), хотя они не были версионированы правильно.

Есть ли способобъединить эти файлы вместе, чтобы был только один Charlie.abc файл со всеми предыдущими ревизиями, которые были у Charlie.abc, плюс две новые ревизии из файлов с датами (141, 177)? Я знаю, что слияние, вероятно, не то слово, чтобы описать это, но, надеюсь, мое объяснение имеет смысл.

Если есть способ исправить это, то журнал для Charlie.abc будет выглядеть следующим образом после исправления:

Revision     Date          Message
88           09/27/2019    artifact #316     *This was an existing revision
117          09/29/2019    artifact #316
141          10/01/2019    artifact #316
177          10/10/2019    artifact #316

Я пользователь GUI, поэтому, если есть решение, которое использует GUI, это было бы идеально.

Спасибо!

1 Ответ

0 голосов
/ 07 ноября 2019

Я не уверен, возможно ли это в Subversion, но можно ли объединить их различия вручную в качестве альтернативного решения?

  1. Используйте svn diff или команду Diff в TortoiseSVN, чтобы найти различиямежду исходными и новыми файлами.
  2. Вручную добавьте эти различия к исходным файлам, которые в основном объединяют их. Если вы хотите использовать графический интерфейс, вы все равно можете использовать то же самое окно Diff под названием TortoiseMerge, чтобы сделать это быстро.
  3. Зафиксируйте ваши измененные файлы.
  4. В зависимости от ваших потребностей вы можете удалить эти файлы с помощьюПодчеркивает или просто Unversion и добавить их в свой список игнорируемых.

Я понимаю, что это даст вам новые даты фиксации и номера ревизий, но это все равно может быть приемлемо, если больше ничего не работает.

...