Git - rebase фиксирует автор

В git-проекте, содержащем пример файла с именем file.txt Я хотел бы иметь сценарий, который:

  1. Анализирует текущее слово, разделенное пробелами (в примере для первой итерации это будет Enlargement). Может быть, с помощью регулярных выражений, таких как \b[A-za-z+]\b для обнаружения слов.
  2. Убедитесь, что длина слова не менее 5 символов. Если нет, переходите к следующему слову, пока это условие не будет выполнено. Если вы удовлетворены, перейдите к #3 ниже.
  3. Проверьте всю историю проекта, чтобы узнать, кто изначально сделал коммит, который ввел это слово.
  4. Если автор этого конкретного коммита соответствует johndoe, затем удалите рассматриваемое слово из файла.
  5. Повторяйте № 1 - № 3 до тех пор, пока все слова из файла не будут проанализированы, а исходные слова конкретным автором удалены.

Обработка общих слов:

Важно игнорировать общие ключевые слова, такие как a, an, the, of, for, if, then, but, else, not, any, or, nor, Итак, я предлагаю сохранить минимальную длину 5 characters в строке для слова, чтобы претендовать на удаление

По сути, идея состоит в том, чтобы исключить или вернуть англоязычные материалы, сделанные конкретным автором. Как это может быть сделано?

Постобработка по latexdiff:

Этот вопрос предназначен для создания отчета о разнице после удаления вкладов автора. После обрезки текста (т. Е. После того, как я получу ответ на этот вопрос), я намереваюсь использовать стандартный, но потрясающий скрипт на Perl. latexdiff которые могут обнаружить эти удаления слов (или даже любое другое различие между двумя latex файлы) и выведите составной PDF-файл, выделив удаленные слова красным зачеркиванием. Все, что мне нужно сделать, - это определить и удалить слова, первоначально введенные другим автором (т.е. мой основной вопрос здесь). Поэтому все предложения в составном PDF-файле должны оставаться связными без потери значения, но будут продолжать сохранять удаленные слова, оставаясь в том же месте, но дополнительно просто помеченные красным зачеркиванием над ними.

Предпосылки и контекст:

Это в академическом контексте. Проект git представляет собой репозиторий рукописи LaTeX. Я нахожусь в споре авторства с соавтором статьи, которая поэтому не была представлена ​​ни одному журналу. Мы оба аспиранты. Чтобы претендовать на каждое наше авторское право на слова для использования в наших соответствующих тезисах, наш доктор философии попросил представить наши соответствующие претензии на слова, введенные в рукописи каждым из нас, для повторного использования в наших тезисах и избежать обвинений в плагиате. Мы оба совершили одно и то же репо, и теперь я думаю об использовании силы git а также shell вместе с git-grep, sed, awk, perl или что угодно, чтобы помочь мне требовать правильных слов, которые я честно написал. Ваша помощь будет высоко ценится.

1 ответ

Я думаю, что было бы легче сделать полную интерактивную перебазировку и отбросить все авторские коммиты.

Будьте готовы разрешить множество конфликтов слияний, которые будут становиться все сложнее и сложнее, когда вы будете жаловаться на возникающий беспорядок.

Другие вопросы по тегам