Восстановить недостающие ревизии с помощью git tf или git tfs

Короче говоря, сервер TFS вышел из строя. резервные копии являются однодневными (не в моем контроле).

мы используем git tfs и git tf для общения с сервером. Когда я делаю git tfs fetch, я получаю сообщение об ошибке, что отсутствуют пропущенные наборы изменений.

Есть ли способ отправить эти недостающие наборы изменений из моего локального git на сервер tfs?

1 ответ

Решение

Если я хорошо понял проблему, вам следует отредактировать файл git-tf в папке.git репозитория. Этот файл содержит карту изменений<=>набора изменений и номер последнего набора изменений, загруженного из TFS. Содержимое файла может выглядеть примерно так:

[git-tf "commits"]
  changeset-11705 = d45df44afd49402363e400ff9dd3e4e57730c146
  changeset-13531 = a6db40aa074c92dcef718f9fb0edf267518d01f4
  changeset-13532 = f67ffc2555136c251212894ce78f01fa33b4e249
  changeset-13533 = 9e6e0a05aa286dd3b80ef166f3dccd43714c84f4
  changeset-13534 = e0a0701569adc90aea54ed53071d146de5b03e95
  changeset-13535 = 26d7a3608174441760c94c3bc5d6f17b047d4ae4
  changeset-13536 = e377b2d726074b4e94f584983a2985b8750e0df7
[git-tf "changesets"]
  commit-d45df44afd49402363e400ff9dd3e4e57730c146 = 11705
  hwm = 13536
  commit-a6db40aa074c92dcef718f9fb0edf267518d01f4 = 13531
  commit-f67ffc2555136c251212894ce78f01fa33b4e249 = 13532
  commit-9e6e0a05aa286dd3b80ef166f3dccd43714c84f4 = 13533
  commit-e0a0701569adc90aea54ed53071d146de5b03e95 = 13534
  commit-26d7a3608174441760c94c3bc5d6f17b047d4ae4 = 13535
  commit-e377b2d726074b4e94f584983a2985b8750e0df7 = 13536

Предположим, что наборы изменений 13536 и 13535 отсутствуют на сервере TFS. Если вы удалите линии

  changeset-13535 = 26d7a3608174441760c94c3bc5d6f17b047d4ae4
  changeset-13536 = e377b2d726074b4e94f584983a2985b8750e0df7

а также

  commit-26d7a3608174441760c94c3bc5d6f17b047d4ae4 = 13535
  commit-e377b2d726074b4e94f584983a2985b8750e0df7 = 13536

и измените значение hwm:

  hwm = 13534

Вы должны быть в состоянии решить проблему.

Другие вопросы по тегам