1
0
Fork 0
mirror of https://gitbruv.vercel.app/api/git/bruv/gitbruv.git synced 2025-12-20 23:24:09 +01:00
This commit is contained in:
Ahmet Kilinc 2025-12-20 04:06:54 +00:00
parent 9a3ca83fd7
commit 4395d0fdce
3 changed files with 17 additions and 17 deletions

View file

@ -23,21 +23,21 @@ export async function GET(request: NextRequest) {
}
const repoPrefix = getRepoPrefix(user.id, `${repo}.git`);
const allKeys = await r2List(repoPrefix + "/");
const allKeys = await r2List("");
const repoKeys = allKeys.filter((k) => k.startsWith(repoPrefix));
const head = await r2Get(`${repoPrefix}/HEAD`);
const config = await r2Get(`${repoPrefix}/config`);
const refsHeadsMain = await r2Get(`${repoPrefix}/refs/heads/main`);
const refsMaster = await r2Get(`${repoPrefix}/refs/heads/master`);
return NextResponse.json({
repoPrefix,
totalKeys: allKeys.length,
keys: allKeys.slice(0, 100),
totalKeysInBucket: allKeys.length,
repoKeys: repoKeys,
head: head?.toString(),
config: config?.toString(),
"refs/heads/main": refsHeadsMain?.toString(),
"refs/heads/master": refsMaster?.toString(),
});
}

View file

@ -232,22 +232,21 @@ async function handleReceivePack(fs: any, gitdir: string, body: Buffer): Promise
console.log("[ReceivePack] Updates:", updates);
try {
const packPath = "/objects/pack/pack-temp.pack";
const packDir = "/objects/pack";
const objectsDir = "/objects";
console.log("[ReceivePack] Creating directories...");
await fs.promises.mkdir(objectsDir, { recursive: true }).catch((e: Error) => console.log("mkdir objects error:", e.message));
await fs.promises.mkdir(packDir, { recursive: true }).catch((e: Error) => console.log("mkdir pack error:", e.message));
await fs.promises.mkdir("/objects", { recursive: true }).catch(() => {});
await fs.promises.mkdir("/objects/pack", { recursive: true }).catch(() => {});
console.log("[ReceivePack] Writing pack file to:", packPath);
const packHash = require("crypto").createHash("sha1").update(packData).digest("hex");
const packFileName = `pack-${packHash}`;
const packPath = `/objects/pack/${packFileName}.pack`;
const idxPath = `/objects/pack/${packFileName}.idx`;
console.log("[ReceivePack] Writing pack file:", packPath);
await fs.promises.writeFile(packPath, packData);
console.log("[ReceivePack] Calling indexPack...");
const result = await git.indexPack({ fs, dir: "/", gitdir: "/", filepath: "objects/pack/pack-temp.pack" });
console.log("[ReceivePack] indexPack result:", result);
await fs.promises.unlink(packPath).catch(() => {});
const result = await git.indexPack({ fs, dir: "/", gitdir: "/", filepath: `objects/pack/${packFileName}.pack` });
console.log("[ReceivePack] indexPack result, oids:", result.oids?.length);
console.log("[ReceivePack] Writing refs...");
for (const update of updates) {
@ -276,7 +275,7 @@ async function handleReceivePack(fs: any, gitdir: string, body: Buffer): Promise
}
responseStr += "0000";
console.log("[ReceivePack] Success, response:", response);
console.log("[ReceivePack] Success!");
return Buffer.from(responseStr);
} catch (err) {
console.error("[ReceivePack] Error:", err);