Git - rebase фиксирует автор
В git-проекте, содержащем пример файла с именем file.txt
Я хотел бы иметь сценарий, который:
- Анализирует текущее слово, разделенное пробелами (в примере для первой итерации это будет
Enlargement
). Может быть, с помощью регулярных выражений, таких как\b[A-za-z+]\b
для обнаружения слов. - Убедитесь, что длина слова не менее 5 символов. Если нет, переходите к следующему слову, пока это условие не будет выполнено. Если вы удовлетворены, перейдите к #3 ниже.
- Проверьте всю историю проекта, чтобы узнать, кто изначально сделал коммит, который ввел это слово.
- Если автор этого конкретного коммита соответствует
johndoe
, затем удалите рассматриваемое слово из файла. - Повторяйте № 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 ответ
Я думаю, что было бы легче сделать полную интерактивную перебазировку и отбросить все авторские коммиты.
Будьте готовы разрешить множество конфликтов слияний, которые будут становиться все сложнее и сложнее, когда вы будете жаловаться на возникающий беспорядок.