Использование git с rtc, как насчет rsync?

Чтобы ускорить отслеживание собственных изменений, я бы хотел использовать git. Моя команда использует RTC (Rational Team Concert). Существует хорошая интеграция perforce с git: http://kb.perforce.com/article/1417/git-p4. Я не мог найти ничего подобного для git-RTC. Обратите внимание, что есть статья о том, как вы можете интегрировать RTC с другим SCM, таким как git: https://jazz.net/library/article/194. Тем не менее, я ищу тип подробных инструкций рабочего процесса, предоставляемых мостом p4-git, например, как вы настраиваете свои файлы, как синхронизировать файлы, как отправлять коммиты git в RTC.

Я хотел бы знать, решил ли кто-нибудь еще эту проблему.

Я рассматриваю либо:

  1. Выполнение git init в верхней части песочницы RTC и проверка того, что файлы git включены в файл .jazzignore.
  2. Возможно, у меня есть rsync-копия моей песочницы рабочего пространства RTC, чтобы я мог получать изменения в песочнице, rsync их в свою «git-область», а затем применять исправления обратно в область песочницы RTC. Это разделило бы области git и RTC.

В любом случае я бы сделал git stash, чтобы сохранить свои собственные изменения, чтобы синхронизируемые изменения сохранялись в их собственных коммитах.

Если я сделаю № 1, я предполагаю, что мои изменения будут просто готовы к фиксации в RTC, возможно, с помощью графического интерфейса или командной строки.

В случае № 2, если я сделал промежуточные коммиты, возможно, я могу использовать git rebase, чтобы изменить порядок коммитов, чтобы мои коммиты были последовательно в конце, а затем создать файл исправления для применения к основной песочнице RTC.

Другая мысль — попробовать переписать скрипты p4 для поддержки RTC. Я еще недостаточно знаю об интерфейсе командной строки RTC, чтобы оценить это.


person justingordon    schedule 20.02.2012    source источник


Ответы (1)


Самый простой способ остается 1/ «git в песочнице RTC (локальное рабочее пространство)»

Добавьте каталог .git в свой .jazzignore, и вы сможете начать работу.
Незавершенные изменения вашего RTC подхватят все, что изменилось в вашем рабочем дереве git.

Однако, если вы хотите, чтобы ваше рабочее дерево git было отделено от вашей песочницы RTC, вы можете рассмотреть возможность использования GIT-WORK-TREE, чтобы ваше рабочее дерево git обновлялось при любых изменениях из вашей песочницы RTC.
См. "Запуск «git status» в отношении репозитория, расположенного в другом месте в система".

person VonC    schedule 20.02.2012
comment
Я часто накладываю RTC и git SCM друг на друга. Тем не менее, предостережение заключается в том, что если в вашем рабочем пространстве Eclipse установлены и RTC, и eGit, они часто вызывают недетерминированные проблемы в отношении того, что, по мнению SCM, Eclipse должен использовать. Короче говоря, вариант 1 работает, просто не устанавливайте eGit в том же экземпляре RTC. - person Pridkett; 06.04.2012
comment
Привет! У вас есть ссылка, чтобы лучше понять, чтобы ваше рабочее дерево git обновлялось с любой частью изменения? Под этим вы подразумеваете, что внешние изменения, вызванные регистрацией и слиянием RTC, не будут рассматриваться как изменения в репозитории Git? - person LppEdd; 01.06.2018
comment
@Lpp Git будет рассматривать их как изменения, но независимые, которые не знают о концепциях RTC. - person VonC; 01.06.2018
comment
Но мне все равно придется зафиксировать эти внешние изменения, верно? - person LppEdd; 01.06.2018
comment
@LppEdd git commit, да. Вы можете выполнять как RTC commit (change set), так и git commit независимо друг от друга. - person VonC; 01.06.2018
comment
@VonC, но таким образом у меня будут коммиты слияния или регистрации в репозитории Git, которых у меня не будет в репозитории RTC. Лучше тогда вообще ничего - person LppEdd; 01.06.2018
comment
@LppEdd да, дело в том, что каждая система контроля версий игнорирует друг друга, поэтому между коммитами RTC-Git нет однозначного соответствия. - person VonC; 01.06.2018
comment
@VonC Извините, что снова беспокою вас. У меня есть немного свободного времени, чтобы попробовать это сейчас. Чего я не вижу, так это ценности создания нового рабочего дерева. Я имею в виду, посмотрите на этот журнал VCS в IntelliJ s15.postimg.cc/5gskxc8nf/Immagine.png В чем разница при использовании отдельного рабочего дерева? - person LppEdd; 21.08.2018
comment
@LppEdd Конечно, вы можете сохранить общее рабочее дерево, я просто считаю, что иметь два отдельных рабочих дерева понятнее, чтобы всегда знать, в какой среде (Git или RTC) я нахожусь. - person VonC; 21.08.2018
comment
@VonC Будут ли рабочие деревья делиться коммитами? (если я сделаю фиксацию на worktree1 с именем RTC, увидит ли worktree2 запись этой фиксации? Полагаю, да). Еще раз спасибо - person LppEdd; 21.08.2018
comment
@LppEdd Нет: коммиты, сделанные в среде RTC, не имеют инцидентов и игнорируются в рабочем дереве git (и наоборот) - person VonC; 21.08.2018
comment
@VonC О, я имел в виду worktree1 и worktree2 как компоненты Git. RTC был только названием коммита - person LppEdd; 21.08.2018
comment
@LppEdd Тогда да, если оба рабочих дерева используют один и тот же репозиторий git (что возможно с помощью команды git worktree: stackoverflow.com/a/30185564 /6309) - person VonC; 21.08.2018
comment
@VonC Я думаю, что этот ответ прояснил рабочий процесс рабочих деревьев. Спасибо! - person LppEdd; 21.08.2018