2013-03-12 4 views
4

Недавно я переключился на использование git-tfs, чтобы TFS не был кошмаром для работы. :) Тем не менее, я заметил раздражающую деталь, которую я не могу отследить в документах и ​​в Интернете.Добавление комментариев в checkintool

Вопрос с комментариями при использовании git tfs checkintool. Когда появится диалоговое окно Visual Studio Check-in, все мои последние комментарии коммита появятся вместе с текущим комментарием.

Затем я должен удалить все, кроме последнего комментария, перед регистрацией заезда.

Возможно, это связано с тем, что я использую TFS gated check-ins, однако я не уверен. При использовании закрытых регистраций регистрация никогда не завершается сервером. Я просто вернусь Checkin cancelled!. Затем, как только закрытая строчка прошла, я делаю git tfs pull, чтобы объединить все вместе.

Кто-нибудь еще видел это? Какое лучшее действие, чтобы очистить след комментариев?

ДОПОЛНИТЕЛЬНО:

Это действительно действительно имеет дело с TFS воротами фиксированием. Когда закрытая проверка была отключена, и я сделал один сеанс, комментарии были очищены.

Итак, я думаю, что такое же поведение должно быть видно, если многие проверки отменены, и я делаю много запросов git tfs pull с течением времени. Я думаю, что локальная ветвь мастера никогда полностью не регистрирует push на сервер.

Какой способ указать это локально?

ответ

1

Не уверен, что я полностью понимаю ваш рабочий процесс, но вы пробовали использовать флаг «-no-build-default-comment» с checkintool? По умолчанию checkintool объединяет все комментарии, поскольку последний раз он думал, что он синхронизирован с tfs, но этот флаг переопределяет это поведение, оставляя вас с пустым диалогом.

+0

Я попробую, спасибо. –

+0

Это действительно ясно, но он также очищает мой текущий комментарий коммита. Итак, шаг в правильном каталоге, но не совсем там. Кроме того, это не устраняет комментарии навсегда. Следующий 'git tfs ct' отобразит все снова. –

+0

Я не понимаю, почему вы хотите сохранить только последнее сообщение фиксации. Checkintool должен создать коммит слияния со всеми коммитами в текущей ветке, поскольку он отклоняется от ветки, называемой tfs/default; поэтому он вносит все сообщения из филиала. Может быть, проблема в том, что вы не перезагружаете или не объединяете ветвь вашей функции с веткой tfs/default, поэтому она вносит всю историю? – Anders