Что такое --loc=surv в git?

Что такое --loc=surv? Я нигде не могу найти его определения.

Чтобы получить статистику вклада в репозиторий git, я нашел git-слава от casperdcl на GitHub. Он предлагает диаграмму взносов на вкладчика. Я не считаю сумму вставок и удалений в git хорошей шкалой. но git-слава предлагает другой вариант, называемый «выжившие строки кода» (--loc=surv). но я не понимаю, что это такое. Когда я должен использовать его? Это лучшая шкала для подсчета взносов?

Вы должны прочитать README в репозитории, который вы сами связали, он хорошо объясняет, что делают три значения --loc (строка кода).

Andreas Louv 20.03.2022 15:34

Это не имеет ничего общего с Github, поэтому я удалил этот тег. Это даже не имеет ничего общего с самим git, это просто опция, поддерживаемая конкретным скриптом, который вы нашли.

IMSoP 20.03.2022 16:18
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Во-первых, это не "в git". Это функция, добавленная в casperdcl/git-fame в выпусках v1.14.0 4 кв. 2020 г. и зафиксировать 2d34d84.

Любой исполняемый файл с именем git-xxx$PATH) можно вызывать с помощью git xxx, создавая иллюзию, что xxx — это команда Git. Нет.

Во-вторых, как показано в выпуск 59, это опция по умолчанию.

I didn't expect any differences between git-fame and git-fame --loc=surviving - and there are none.

В-третьих, он измеряет строки, которые все еще существуют между коммитами (которые не были добавлены или удалены), что позволяет:

  • связать опции, такие как --ignore-rev или --ignore-revs-file=<f> (действительно только для выживших строк),
  • исключить такие параметры, как --cost (стоимость времени в человеко-месяцах (COCOMO) или человеко-часах (в зависимости от времени фиксации), которая основана только на разнице (добавлены/удалены строки)

Если он измеряет строки, которые все еще существуют между фиксациями, как подсчитывается вклад в эту единственную строку? Считает ли он последнюю ривию на этой линии? В конце концов, это лучший способ подсчитать вклад (например, заплатить разработчикам)?

Movahhedi 21.03.2022 03:45

Вклад @Movahhedi (и связанные с ним расходы) означает, что в строках есть изменения (добавлены/удалены/изменены).

VonC 21.03.2022 08:46
Ответ принят как подходящий

--loc=surv означает «Сохранившиеся строки кода», то есть код, который существует в настоящее время, не считая удалений (del) или прошлых вставок (ins).

Разработчик git-fame, Каспердкл ответил на Эта проблема:

Does it just count the last revision on that line?

--loc=surv действительно считается «только последняя ревизия в этой строке». Также может быть полезно включить опции -M и -C.

looking for the best way to measure how much I have to pay my devs.

А вот и драконы ? ... параметры --cost могут угадывать часы и месяцы, используя разные модели в соответствии с https://github.com/casperdcl/git-fame#faqs, но обратите внимание:

  • невозможно различить рефакторинг (предположительно высокое значение) и переформатирование (предположительно более низкое значение)
  • сгенерированный код (например, package-lock.json), вероятно, лучше измерять количеством коммитов, в то время как функциональный код (например, train.py), вероятно, лучше измерять количеством строк
  • удаление --loc=del (удаление плохого кода) и прошлые вставки --loc=ins (больше не сохранившиеся строки, которые, тем не менее, повлияли на идеи, лежащие в основе текущего кода) также могут быть полезны
  • одна строка кода может быть более ценной, чем 100. Качество может быть измерено только человеком
  • просмотр чужого кода может быть полезен, но не отображается в истории Git
  • ... список предостережений можно продолжить

В лучшем случае я бы использовал git fame как один из многих способов помочь оценить истинную ценность вклада. Одна из возможных стратегий — заставить людей оценивать работу друг друга, если вы чувствуете, что не можете проверить ее самостоятельно. Я бы не советовал платить людям исключительно за количество/скорость коммитов/строк.

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