Skip to content

Commit 7ad66e6

Browse files
Thomas StrombergThomas Stromberg
authored andcommitted
add --reference-time flag
1 parent e0f423b commit 7ad66e6

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

cmd/prx/main.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ const (
2828
func main() {
2929
debug := flag.Bool("debug", false, "Enable debug logging")
3030
noCache := flag.Bool("no-cache", false, "Disable caching")
31+
referenceTimeStr := flag.String("reference-time", "", "Reference time for cache validation (RFC3339 format, e.g., 2025-03-16T06:18:08Z)")
3132
flag.Parse()
3233

3334
if *debug {
@@ -37,11 +38,22 @@ func main() {
3738
}
3839

3940
if flag.NArg() != 1 {
40-
fmt.Fprintf(os.Stderr, "Usage: %s [--debug] [--no-cache] <pull-request-url>\n", os.Args[0])
41+
fmt.Fprintf(os.Stderr, "Usage: %s [--debug] [--no-cache] [--reference-time=TIME] <pull-request-url>\n", os.Args[0])
4142
fmt.Fprintf(os.Stderr, "Example: %s https://github.com/golang/go/pull/12345\n", os.Args[0])
4243
os.Exit(1)
4344
}
4445

46+
// Parse reference time if provided
47+
referenceTime := time.Now()
48+
if *referenceTimeStr != "" {
49+
var err error
50+
referenceTime, err = time.Parse(time.RFC3339, *referenceTimeStr)
51+
if err != nil {
52+
log.Printf("Invalid reference time format (use RFC3339, e.g., 2025-03-16T06:18:08Z): %v", err)
53+
os.Exit(1)
54+
}
55+
}
56+
4557
prURL := flag.Arg(0)
4658

4759
owner, repo, prNumber, err := parsePRURL(prURL)
@@ -70,7 +82,7 @@ func main() {
7082
}
7183

7284
client := prx.NewClient(token, opts...)
73-
data, err := client.PullRequest(ctx, owner, repo, prNumber)
85+
data, err := client.PullRequestWithReferenceTime(ctx, owner, repo, prNumber, referenceTime)
7486
if err != nil {
7587
log.Printf("Failed to fetch PR data: %v", err)
7688
cancel()

0 commit comments

Comments
 (0)