Застереження: Я розпочав git-tf
проект, і хоча проект зараз перебуває у дуже спроможних руках без мене, як того, хто часто дописується, ви повинні абсолютно вважати мою думку щодо цього суворо необ'єктивною. (І, припускаючи, що ви працюєте в Windows, можливо, несподівано.)
Існують дві основні відмінності між двома інструментами:
git-tfs
був створений для користувачів Windows і написаний поверх SDK .NET TFS. TFS SDK не буде працювати під Mono, тому це робить git-tfs
непридатним для використання на різних платформах.
git-tf
був створений для крос-платформних користувачів і написаний поверх Java TFS SDK. Таким чином, він буде працювати в будь-якому місці, що підтримується Java TFS SDK (Windows, Mac, Linux, AIX, HP-UX, Solaris тощо ...), git-tf
явно створений, щоб дозволити користувачам Xcode отримати доступ до TFS.
У Windows, звичайно, ви можете використовувати будь-який. Я не збираюся обов'язково казати, що один кращий за інший. Але я скажу:
Моя найбільша скарга щодо того git-tfs
, що це не буде працювати на Mac OS. Якби існував спосіб зробити git-tfs
крос-платформний, то git-tf
майже напевно не існував би.
git-tfs
це швидше , в деяких випадках , ніж git-tf
. Ефективність не була нашим пріоритетом у перших кількох переробках, правильність була.
Оскільки git-tf
має широку матрицю підтримки платформи, це означає, що її функціональність обов'язково обмежена. Наприклад, немає інтерфейсу користувача. git-tfs
, з іншого боку, має checkintool
команду, яка відкриє звичайне діалогове вікно перевірки TFS. Це може бути надзвичайно корисним для візуалізації ваших змін. (Якщо я пам’ятаю, ви можете відкрити відповідний візуальний розрізнення звідти тощо).
git-tf
працює шляхом безпосереднього заповнення сховища git, завантаження об'єктів TFS безпосередньо в базу даних об'єкта git. git-tfs
працює, створюючи відображення робочої папки TFS у прихованій папці, а потім заповнює з неї сховище git. Тут є штраф за диск, тож якщо у вас є надзвичайно великі сховища, ви можете це відчути.
git-tfs
можете спробувати зіставити ваші гілки TFS з вашими гітками git. Багато людей сприйматимуть це як позитив git-tfs
, хоча я цього не роблю: модель розгалуження git (на рівні сховища) та модель розгалуження TFS (представлена у вигляді папок у сховищі) настільки кардинально відрізняються, що може спричинити проблеми у будь-чому, крім найпростіші робочі процеси. Але ваш пробіг може відрізнятися.
git-tfs
активно розвивається громадою. git-tf
не прийняла громади.
Я не хочу, щоб це звучало так, ніби я кажу, що git-tf
це погано. Це не. Я думаю, це насправді досить добре. Але це може бути не найкращим вибором.
Оновлення: git-tf
досягло кінця життя . Він більше не підтримується та не підтримується корпорацією Майкрософт. Ми рекомендуємо, git-tfs
якщо ви хочете двонаправлене рішення TFS <-> git.