gitdate

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package gitdate는 git 이력에서 문서별 커밋 날짜를 얻는다. 커맨드가 아니라 순수 조회 계층이며 sync 가 부른다. 문서 수만큼 프로세스를 띄우지 않도록 전체 이력을 한 번의 git log 로 얻는다.

Index

Constants

View Source
const BulkCommitThreshold = 15

BulkCommitThreshold는 한 커밋이 건드린 위키 문서 수의 상한이다. 이 수 이상을 건드린 커밋은 지식이 갱신된 것이 아니라 형식만 바꾼 것으로 보고 날짜 신호에서 뺀다.

upstream 이 실제로 겪은 사고에서 온 값이다. 전 문서의 프론트매터를 한 커밋에 고치자 context 79개의 날짜가 전부 그날이 되어 재발견 결과가 0건이 되었고, 이 필터를 켜서 58건이 회복되었다. engram 에도 같은 경로가 있다. migrate 는 정의상 전 문서의 프론트매터를 한 커밋에 고치는 커맨드이고 그 뒤에 sync --apply 를 돌리면 같은 일이 난다.

설정으로 노출하지 않는다. 색인의 k1 과 b 를 노출하지 않기로 한 것과 같은 이유다(ADR 0010). upstream 과 같은 값을 쓴다.

Variables

This section is empty.

Functions

func History

func History(wikiRoot string) (map[string]Dates, error)

History는 위키 루트 아래 문서들의 커밋 날짜를 한 번의 git log 로 얻는다. 반환 맵의 키는 위키 루트 기준 슬래시 경로다. 위키 루트가 저장소의 하위 디렉토리일 수 있으므로 저장소 기준 경로 맞춤을 여기서 끝낸다. git 이 없거나 위키가 저장소가 아니면 안내를 담은 에러를 낸다.

Types

type Dates

type Dates struct {
	First    string // 최초 커밋 날짜. YYYY-MM-DD
	Last     string // 마지막 커밋 날짜. YYYY-MM-DD
	BulkOnly bool   // 대량 커밋에만 등장해 날짜를 비워 둔 문서다
}

Dates는 문서 하나의 커밋 날짜다. 이력이 없으면 빈 값이다.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL