From 2f4929a94a492dd8a7b309152730fcae3ea49ed1 Mon Sep 17 00:00:00 2001 From: Teodor Date: Wed, 26 Aug 2026 03:25:44 +0800 Subject: [PATCH] fix(git): restore git->readcredentials so appl/cmd builds push.b calls git->readcredentials(gitdir), which is declared in no .m interface, so mk install in appl/cmd fails. The tracked push.dis was built when the function existed, which is why only a from-source build hits it. The rebuilt dis/cmd/git/push.dis is byte-identical to the committed one, so this restores the removed signature rather than inventing a new one. --- appl/lib/git/git.b | 18 ++++++++++++++++++ dis/lib/git/git.dis | Bin 43862 -> 44101 bytes module/git.m | 1 + 3 files changed, 19 insertions(+) diff --git a/appl/lib/git/git.b b/appl/lib/git/git.b index 26f648f19..00facb9e0 100644 --- a/appl/lib/git/git.b +++ b/appl/lib/git/git.b @@ -1860,6 +1860,24 @@ findgitdir(dir: string): string return nil; } +# Read the push credentials for a repository. The file holds one +# "user:token" line, which sendpack encodes as HTTP Basic. Returns nil when +# it is absent or empty, which push reports as "no credentials found". +readcredentials(gitdir: string): string +{ + fd := sys->open(gitdir + "/credentials", Sys->OREAD); + if(fd == nil) + return nil; + buf := array [1024] of byte; + n := sys->read(fd, buf, len buf); + if(n <= 0) + return nil; + creds := strtrim(string buf[:n]); + if(len creds == 0) + return nil; + return creds; +} + getremoteurl(gitdir, remote: string): string { fd := sys->open(gitdir + "/config", Sys->OREAD); diff --git a/dis/lib/git/git.dis b/dis/lib/git/git.dis index 0e4fc6609442ad732ebb94a38330bbcf12427b3c..b582229fa0d4d3324bc0f8ce224d260fedb7e745 100644 GIT binary patch delta 4869 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 delta 4904 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 diff --git a/module/git.m b/module/git.m index f81426f5a..8d53363e5 100644 --- a/module/git.m +++ b/module/git.m @@ -137,6 +137,7 @@ splitfirst: fn(s: string, sep: int): (string, string); findgitdir: fn(dir: string): string; getremoteurl: fn(gitdir, remote: string): string; + readcredentials: fn(gitdir: string): string; writeref: fn(gitdir, name: string, h: Hash); writesymref: fn(gitdir, name, target: string); mkdirp: fn(filepath: string);