2016-03-02 5 views
0

я столкнулся с проблемой, я не могу изменить CreationDate из набора изменений в TFS 2015 использования Microsoft.TeamFoundation.VersionControl.Client.dllМогу ли я установить различное CreationDate из набора изменений после регистрации заезда в TFVC - TFS 2015

$changeset = $versionControlServer.GetChangeset("2656") 
    $changeset.CreationDate = $(get-date).AddDays(-90) 
    $changeset.Comment = "bla-bla-bla" 
    $changeset.Owner = "test\test1" 
    $changeset.Committer = "test\test1" 
    $changeset.CommitterDisplayName = "test\test1" 
    $changeset.OwnerDisplayName = "test\test1" 

    $changeSet.Update() 

После попытки запустить метод $changeSet.Update(), результат был неудачным. Только $changeset.Comment = "bla-bla-bla" был применен, другие свойства не увенчались успехом.

Итак, мои вопросы:

  1. Как я могу изменить свойство CreationDate, Committer и т.д. без непосредственного вмешательства в базу данных
  2. Почему это свойство только для чтения?
  3. Возможно, какая-то политика мешает мне это сделать?

ответ

1

Почему вы хотите изменить дату заезда?

API не собирается позволять вам это делать, и редактирование базы данных TFS SQL напрямую не поддерживается. Если вы решите сделать это в любом случае, существует довольно высокая вероятность того, что вы сломаете что-то, поэтому убедитесь, что у вас есть текущая резервная копия.

Тем не менее, есть аналогичный вопрос здесь: Modify CreationDate for TFS Changeset

+0

У меня есть хранилище git с фиксациями с 2009 года. Итак, главная цель этого переместить все это из Git в Tfvc. Я использую инструмент Git-tf. Он отлично работает, но я не могу сохранить исходную дату совершения. Мне удалось сохранить хронологию коммитов и пользователей, но исходная дата нет. – SAP

+0

@SAP Вы можете нажать Git repo прямо в TFS (при условии, что вы используете TFS 2013 или более поздней версии). Не нужно мигрировать в TFVC. –

0

TFS 2015 поддерживает и принимает Git репозиториев, а также TFVC. Если вы добавите репозиторий Git в свой проект команды, вы можете просто добавить его в качестве дополнительного пульта и нажать. Это принесет всю историю, так как без необходимости возиться с историей.

Если вам нужно перейти с Git на TFVC (не рекомендуется, так как Git намного лучше), вы можете использовать Git-TF, чтобы нажимать код между ними.

http://nkdagility.com/migrating-codeplex-github/

Выше обратный пример, но вы должны быть в состоянии:

  1. Clone правильную папку в TFVC
  2. Force толчок из существующих Git репо к TFVC связан один
  3. Push to TFVC

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

Хорошо, поэтому я солгал, и есть способ.

  1. Создать новую пустую коллекцию
  2. Создать проект команды и НЕ проверять
  3. Используйте API для импорта каждой ревизии и дата должна быть доступна для записи.

... было разрешено поддерживать миграцию VSS на TFVC, и ваш размер может отличаться.

+0

Спасибо за ваш совет. Мне удалось получить результат успеха. Я использовал TFS API для изменения сообщения changeet. Это было более доступно в моей ситуации – SAP