Может ли пластиковый трек SCM перемещаться между файлами?

Кажется, что Plastic SCM не отслеживает код, перемещаемый между файлами (сравните, например, с Git). Правильно ли я, или есть способ, как включить эту функцию?

1 ответ

(Отказ от ответственности: я работаю для Plastic SCM).

Насколько я знаю, git способен отслеживать перемещенные фрагменты кода между файлами при запуске "git wame", но не использует эту информацию во время слияния, правильно? Git способен вычислять "перемещенный фрагмент" между файлами, если это происходит при одной и той же фиксации, и что он делает при обработке "вины".

Нет, пластик пока не может этого сделать, что является позором, потому что мы уже делаем некоторые интересные вещи вокруг идеи:

  • Сначала у нас есть история семантического метода, которая способна отслеживать историю данного метода, даже когда он был перемещен, переименован и изменен, но всегда внутри одного и того же файла. У нас есть планы распространить это на базу репозитория, и мы действительно собирались реализовать ее к концу прошлого года, но нам пришлось отложить ее с тех пор, как мы получили некоторые другие высоконадежные функции для работы.

  • "История семантического метода" основана на технологии SemanticMerge, которую мы разработали. Прямо сейчас он также работает внутри файла, но в планах также возникает многофайловый файл SemanticMerge (у нас даже есть рабочий прототип уже). Я ожидаю, что это будет на несколько шагов впереди других инструментов.

  • Применяя последние два вместе, было бы непросто сделать что-то вроде "вины с перемещенным кодом", который, как вы указали, действительно хорош. Надеюсь, в ближайшие месяцы мы выпустим что-то подобное.

licensed under cc by-sa 3.0 with attribution.