Как я вижу нет.строк, добавленных, измененных и удаленных между двумя спринтами в VSTS? - PullRequest
0 голосов
/ 09 июня 2018

Я хочу увидеть изменения кода между двумя спринтами.Или нет.строк, добавленных, измененных или удаленных в спринте. Многое отыскивалось в VSTS, но не смог найти эту функцию.Так есть ли обходной путь для этого?Мой VSTS интегрирован с GIT.

На данный момент я пробовал приведенную ниже команду, но для нее требуется два идентификатора фиксации, и я хочу указать в качестве входных данных спринт или время.И он должен игнорировать автоматически сгенерированные файлы, такие как dll, exe.И эту функцию можно использовать с любого компьютера.

git diff <StartCommit> <EndCommit> --shortstat

Это дает следующие выходные данные

37 файлов изменено, 79 вставок (+), 5739 удалений (-)

Я подумываю сделать приложение типа Windows, которое принимает учетные данные пользователя, начальную дату и конечную дату или спринт в качестве входных данных и дает в результате добавленные, измененные и удаленные файлы.

Обновление:

При запуске вышеупомянутого я получаю сообщение об ошибке, см. Скриншот ниже.Error

Ошибка на Bash:

enter image description here

Снимок экрана GitK

enter image description here

1 Ответ

0 голосов
/ 11 июня 2018

Чтобы получить разницу между двумя спринтами, вы можете использовать следующие шаги:

1.Проверьте, есть ли коммиты в течение указанной даты

Сначала вам нужно проверить, есть ли коммиты в течение указанной даты:

  • Если нет вывода для команды git rev-list --since="startdate-1" master, это означает, что коммитов не было зафиксировано после начальной даты;
  • Если для команды git rev-list --since="enddate-1" master нет вывода, это означает, что коммитов с момента окончания не было зафиксировано.

Примечание: startdate-1 означает день до даты начала;enddate-1 означает день до окончания.

Логика в коде должна быть:

if (no output from git rev-list --since="startdata-1" master)
{
  return;
  #skip to execute following git command
}
else
{
  if (no output from git rev-list --since="enddata-1" master)
  {
    return;
    #skip to execute following git commad
  }
}
execute git diff commit commit --shortstat

2.Преобразование дат в коммиты

  • Чтобы получить фиксацию для начальной даты:

    $(git rev-list --since="startdate-1" master --reverse | head -1)
    
  • Чтобы получить фиксацию для конечной даты:

    $(git rev-list --since="enddate-1" master --reverse | head -1)
    

3.Сравните с двумя преобразованными коммитами

Затем сравните разницу с помощью команды:

git diff $(git rev-list --since="startdate-1" master --reverse | head -1) $(git rev-list --since="enddate-1" master --reverse | head -1) --shortstat
...