Неправильные даты 'git log' в действии GitHub - PullRequest
0 голосов
/ 26 марта 2020

Я использую этот скрипт для генерации файла с датами фиксации

cat .github/workflows/header.md > "COVID 19/fechas.md"
git ls-tree -r --name-only HEAD COVID\ 19/*.csv | while read filename; do
    date=$(git log -1 --format="%aD" -- "$filename")
    echo "| $date  | $filename |" >>  "COVID 19/fechas.md"
done
git config --global user.email "jjmerelo@gmail.com"
git config --global user.name "FechaActionBot"
git add "COVID 19/fechas.md"
git commit -m "Fichero de fechas generado"

В этом GitHub Action , который проверяет код и запускается выше как скрипт.

Независимо от того, какой формат я использую (дату коммиттера или автора), я получаю одинаковый результат , который показывает одинаковую дату (текущую) для всех файлов.

1 Ответ

1 голос
/ 26 марта 2020

По умолчанию действие checkout делает неглубокий клон . Вам необходимо настроить его для глубокого клона, как указано, если вы хотите получить доступ к реальной дате фиксации (а не к дате фиктивного коммита, созданного мелким клоном), таким образом:

name: genera fechas
on:
  push:
    paths:
    - '**.csv'

jobs:
  genera_fechas:
    runs-on: ubuntu-latest
    name: Genera CSV
    steps:
      - name: checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: '0'
      - name: Fechas
        run: .github/workflows/dates.sh
      - name: Check in
        uses: ad-m/github-push-action@master
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}

...