@enbox/gitd 0.0.3 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,15 +2,21 @@
2
2
  * `gitd migrate` — import repository data from GitHub.
3
3
  *
4
4
  * Fetches repo metadata, issues, pull requests, and releases from the
5
- * GitHub REST API and creates corresponding DWN records. A `GITHUB_TOKEN`
6
- * env var is recommended for authenticated requests (higher rate limits).
5
+ * GitHub REST API and creates corresponding DWN records.
6
+ *
7
+ * Authentication is resolved automatically:
8
+ * 1. `GITHUB_TOKEN` env var (if set)
9
+ * 2. `gh auth token` (GitHub CLI, if installed and authenticated)
10
+ *
11
+ * The `<owner/repo>` argument is optional — if omitted, it is detected
12
+ * from the `origin` (or `github`) remote of the current git repository.
7
13
  *
8
14
  * Usage:
9
- * gitd migrate all <owner/repo> Import everything
10
- * gitd migrate repo <owner/repo> Import repo metadata only
11
- * gitd migrate issues <owner/repo> Import issues + comments
12
- * gitd migrate pulls <owner/repo> Import PRs as patches + reviews
13
- * gitd migrate releases <owner/repo> Import releases
15
+ * gitd migrate all [owner/repo] Import everything
16
+ * gitd migrate repo [owner/repo] Import repo metadata only
17
+ * gitd migrate issues [owner/repo] Import issues + comments
18
+ * gitd migrate pulls [owner/repo] Import PRs as patches + reviews
19
+ * gitd migrate releases [owner/repo] Import releases
14
20
  *
15
21
  * @module
16
22
  */
@@ -23,23 +29,95 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
23
29
  step((generator = generator.apply(thisArg, _arguments || [])).next());
24
30
  });
25
31
  };
32
+ import { createFullBundle } from '../../git-server/bundle-sync.js';
33
+ import { flagValue } from '../flags.js';
34
+ import { getRepoContext } from '../repo-context.js';
26
35
  import { getRepoContextId } from '../repo-context.js';
36
+ import { GitBackend } from '../../git-server/git-backend.js';
37
+ import { readGitRefs } from '../../git-server/ref-sync.js';
38
+ import { readFile, unlink } from 'node:fs/promises';
39
+ import { spawn, spawnSync } from 'node:child_process';
27
40
  // ---------------------------------------------------------------------------
28
- // GitHub API helpers
41
+ // GitHub auth — resolve a token from env or the gh CLI
29
42
  // ---------------------------------------------------------------------------
30
43
  const GITHUB_API = 'https://api.github.com';
44
+ /** Cached token so we only resolve once per process. */
45
+ let cachedToken;
46
+ /** Reset the cached token (for testing). */
47
+ export function resetTokenCache() {
48
+ cachedToken = undefined;
49
+ }
50
+ /**
51
+ * Resolve a GitHub API token.
52
+ *
53
+ * Priority:
54
+ * 1. `GITHUB_TOKEN` environment variable
55
+ * 2. `gh auth token` (GitHub CLI)
56
+ *
57
+ * Returns `undefined` when no token is available.
58
+ */
59
+ export function resolveGitHubToken() {
60
+ var _a;
61
+ if (cachedToken !== undefined) {
62
+ return cachedToken;
63
+ }
64
+ // 1. Env var takes precedence.
65
+ const envToken = process.env.GITHUB_TOKEN;
66
+ if (envToken) {
67
+ cachedToken = envToken;
68
+ return cachedToken;
69
+ }
70
+ // 2. Try the GitHub CLI.
71
+ try {
72
+ const result = spawnSync('gh', ['auth', 'token'], {
73
+ stdio: ['pipe', 'pipe', 'pipe'],
74
+ timeout: 2000,
75
+ });
76
+ const token = (_a = result.stdout) === null || _a === void 0 ? void 0 : _a.toString().trim();
77
+ if (result.status === 0 && token) {
78
+ cachedToken = token;
79
+ return cachedToken;
80
+ }
81
+ }
82
+ catch (_b) {
83
+ // gh not installed or not on PATH — fall through.
84
+ }
85
+ cachedToken = ''; // empty string = resolved, nothing found
86
+ return undefined;
87
+ }
88
+ // ---------------------------------------------------------------------------
89
+ // GitHub API helpers
90
+ // ---------------------------------------------------------------------------
31
91
  /** Headers for GitHub API requests. */
32
92
  function githubHeaders() {
33
93
  const headers = {
34
94
  'Accept': 'application/vnd.github+json',
35
95
  'User-Agent': 'gitd-migrate/0.1',
36
96
  };
37
- const token = process.env.GITHUB_TOKEN;
97
+ const token = resolveGitHubToken();
38
98
  if (token) {
39
99
  headers['Authorization'] = `Bearer ${token}`;
40
100
  }
41
101
  return headers;
42
102
  }
103
+ /**
104
+ * Build a user-friendly error message for GitHub API failures.
105
+ * For 404s without a token, hint at authentication.
106
+ */
107
+ function ghErrorMessage(status, body) {
108
+ const base = `GitHub API ${status}: ${body.slice(0, 200)}`;
109
+ if (status === 404 && !resolveGitHubToken()) {
110
+ return (`${base}\n\n` +
111
+ ` Hint: this may be a private repo. Authenticate with one of:\n` +
112
+ ` - gh auth login (GitHub CLI — recommended)\n` +
113
+ ` - export GITHUB_TOKEN=ghp_...\n`);
114
+ }
115
+ if (status === 401 || status === 403) {
116
+ return (`${base}\n\n` +
117
+ ` Hint: your token may lack the required scopes. Ensure it has "repo" access.\n`);
118
+ }
119
+ return base;
120
+ }
43
121
  /** Fetch a single page from the GitHub API. Throws on non-2xx. */
44
122
  function ghFetch(path) {
45
123
  return __awaiter(this, void 0, void 0, function* () {
@@ -47,7 +125,7 @@ function ghFetch(path) {
47
125
  const res = yield fetch(url, { headers: githubHeaders() });
48
126
  if (!res.ok) {
49
127
  const body = yield res.text();
50
- throw new Error(`GitHub API ${res.status}: ${body.slice(0, 200)}`);
128
+ throw new Error(ghErrorMessage(res.status, body));
51
129
  }
52
130
  return res.json();
53
131
  });
@@ -65,7 +143,7 @@ function ghFetchAll(path_1) {
65
143
  const res = yield fetch(url, { headers: githubHeaders() });
66
144
  if (!res.ok) {
67
145
  const body = yield res.text();
68
- throw new Error(`GitHub API ${res.status}: ${body.slice(0, 200)}`);
146
+ throw new Error(ghErrorMessage(res.status, body));
69
147
  }
70
148
  const items = yield res.json();
71
149
  all.push(...items);
@@ -91,27 +169,87 @@ export function migrateCommand(ctx, args) {
91
169
  case 'pulls': return migratePulls(ctx, rest);
92
170
  case 'releases': return migrateReleases(ctx, rest);
93
171
  default:
94
- console.error('Usage: gitd migrate <all|repo|issues|pulls|releases> <owner/repo>');
172
+ console.error('Usage: gitd migrate <all|repo|issues|pulls|releases> [owner/repo] [--repos <path>]');
95
173
  process.exit(1);
96
174
  }
97
175
  });
98
176
  }
99
177
  // ---------------------------------------------------------------------------
100
- // Parse <owner/repo> argument
178
+ // Resolve <owner/repo> — from argument or local git remote
101
179
  // ---------------------------------------------------------------------------
102
- function parseGhRepo(args) {
180
+ /** Well-known GitHub remote URL patterns. */
181
+ const GH_SSH_RE = /^git@github\.com:(.+?)\/(.+?)(?:\.git)?$/;
182
+ const GH_HTTPS_RE = /^https?:\/\/github\.com\/(.+?)\/(.+?)(?:\.git)?$/;
183
+ /**
184
+ * Extract `owner/repo` from a GitHub remote URL.
185
+ * Supports both SSH (`git@github.com:owner/repo.git`) and
186
+ * HTTPS (`https://github.com/owner/repo.git`) forms.
187
+ */
188
+ export function parseGitHubRemote(url) {
189
+ const ssh = GH_SSH_RE.exec(url);
190
+ if (ssh) {
191
+ return { owner: ssh[1], repo: ssh[2] };
192
+ }
193
+ const https = GH_HTTPS_RE.exec(url);
194
+ if (https) {
195
+ return { owner: https[1], repo: https[2] };
196
+ }
197
+ return null;
198
+ }
199
+ /**
200
+ * Detect the GitHub `owner/repo` from the current directory's git remotes.
201
+ * Checks `origin` first, then `github`.
202
+ */
203
+ function detectGhRepoFromRemotes() {
204
+ var _a;
205
+ for (const remoteName of ['origin', 'github']) {
206
+ try {
207
+ const result = spawnSync('git', ['remote', 'get-url', remoteName], {
208
+ stdio: ['pipe', 'pipe', 'pipe'],
209
+ timeout: 5000,
210
+ });
211
+ const url = (_a = result.stdout) === null || _a === void 0 ? void 0 : _a.toString().trim();
212
+ if (result.status === 0 && url) {
213
+ const parsed = parseGitHubRemote(url);
214
+ if (parsed) {
215
+ return parsed;
216
+ }
217
+ }
218
+ }
219
+ catch (_b) {
220
+ // git not available or not a repo — continue.
221
+ }
222
+ }
223
+ return null;
224
+ }
225
+ /**
226
+ * Resolve the GitHub `owner/repo` to migrate.
227
+ *
228
+ * 1. If `args[0]` contains a `/`, treat it as an explicit `owner/repo`.
229
+ * 2. Otherwise, detect from the current directory's git remotes.
230
+ * 3. If neither works, print an error and exit.
231
+ */
232
+ export function resolveGhRepo(args) {
103
233
  const target = args[0];
104
- if (!target || !target.includes('/')) {
105
- console.error('Usage: gitd migrate <subcommand> <owner/repo>');
106
- process.exit(1);
234
+ // Explicit argument.
235
+ if (target && target.includes('/')) {
236
+ const [owner, ...repoParts] = target.split('/');
237
+ const repo = repoParts.join('/');
238
+ if (owner && repo) {
239
+ return { owner, repo };
240
+ }
107
241
  }
108
- const [owner, ...repoParts] = target.split('/');
109
- const repo = repoParts.join('/');
110
- if (!owner || !repo) {
111
- console.error('Invalid repository format. Use: owner/repo');
112
- process.exit(1);
242
+ // Auto-detect from git remotes.
243
+ const detected = detectGhRepoFromRemotes();
244
+ if (detected) {
245
+ console.log(`Detected GitHub repo: ${detected.owner}/${detected.repo}`);
246
+ return detected;
113
247
  }
114
- return { owner, repo };
248
+ console.error('Could not determine GitHub repository.\n' +
249
+ ' Either pass owner/repo explicitly:\n' +
250
+ ' gitd migrate <subcommand> <owner/repo>\n' +
251
+ ' Or run from inside a git repo with a GitHub remote.\n');
252
+ process.exit(1);
115
253
  }
116
254
  /**
117
255
  * Prepend a GitHub author attribution line to the body text.
@@ -124,19 +262,48 @@ function prependAuthor(body, ghLogin) {
124
262
  // ---------------------------------------------------------------------------
125
263
  // migrate all
126
264
  // ---------------------------------------------------------------------------
265
+ /**
266
+ * Resolve the repos base path from CLI flags or environment.
267
+ * Returns `null` when no explicit path was provided, so callers can
268
+ * decide whether to skip git content migration.
269
+ */
270
+ function resolveReposPath(args) {
271
+ var _a, _b;
272
+ return (_b = (_a = flagValue(args, '--repos')) !== null && _a !== void 0 ? _a : process.env.GITD_REPOS) !== null && _b !== void 0 ? _b : null;
273
+ }
127
274
  function migrateAll(ctx, args) {
128
275
  return __awaiter(this, void 0, void 0, function* () {
129
- const { owner, repo } = parseGhRepo(args);
276
+ const { owner, repo } = resolveGhRepo(args);
277
+ const reposPath = resolveReposPath(args);
130
278
  const slug = `${owner}/${repo}`;
279
+ const token = resolveGitHubToken();
280
+ if (!token) {
281
+ console.log(`Warning: no GitHub token found. Private repos will fail.`);
282
+ console.log(` Run "gh auth login" or set GITHUB_TOKEN to authenticate.\n`);
283
+ }
131
284
  console.log(`Migrating ${slug} from GitHub...\n`);
132
285
  try {
133
286
  // Step 1: repo metadata.
134
287
  yield migrateRepoInner(ctx, owner, repo);
135
- // Step 2: issues + comments.
288
+ // Step 2: git content (clone, bundle, refs).
289
+ if (reposPath) {
290
+ try {
291
+ yield migrateGitContent(ctx, owner, repo, reposPath);
292
+ }
293
+ catch (err) {
294
+ console.error(` Warning: git content migration failed: ${err.message}`);
295
+ console.error(' Metadata, issues, PRs, and releases will still be imported.');
296
+ console.error(' Re-run with a valid --repos path to retry git content migration.\n');
297
+ }
298
+ }
299
+ else {
300
+ console.log(' Skipping git content — pass --repos <path> or set GITD_REPOS to include git data.');
301
+ }
302
+ // Step 3: issues + comments.
136
303
  const issueCount = yield migrateIssuesInner(ctx, owner, repo);
137
- // Step 3: pull requests + reviews.
304
+ // Step 4: pull requests + reviews.
138
305
  const pullCount = yield migratePullsInner(ctx, owner, repo);
139
- // Step 4: releases.
306
+ // Step 5: releases.
140
307
  const releaseCount = yield migrateReleasesInner(ctx, owner, repo);
141
308
  console.log(`\nMigration complete: ${slug}`);
142
309
  console.log(` Issues: ${issueCount}`);
@@ -154,9 +321,16 @@ function migrateAll(ctx, args) {
154
321
  // ---------------------------------------------------------------------------
155
322
  function migrateRepo(ctx, args) {
156
323
  return __awaiter(this, void 0, void 0, function* () {
157
- const { owner, repo } = parseGhRepo(args);
324
+ const { owner, repo } = resolveGhRepo(args);
325
+ const reposPath = resolveReposPath(args);
158
326
  try {
159
327
  yield migrateRepoInner(ctx, owner, repo);
328
+ if (reposPath) {
329
+ yield migrateGitContent(ctx, owner, repo, reposPath);
330
+ }
331
+ else {
332
+ console.log(' Skipping git content — pass --repos <path> or set GITD_REPOS to include git data.');
333
+ }
160
334
  }
161
335
  catch (err) {
162
336
  console.error(`Failed to migrate repo: ${err.message}`);
@@ -199,11 +373,119 @@ function migrateRepoInner(ctx, owner, repo) {
199
373
  });
200
374
  }
201
375
  // ---------------------------------------------------------------------------
376
+ // migrate git content (clone + bundle + refs)
377
+ // ---------------------------------------------------------------------------
378
+ /**
379
+ * Clone the GitHub repository as a bare repo, create a full git bundle,
380
+ * upload it to DWN, and sync all refs to DWN records.
381
+ *
382
+ * This is the "git content" migration step that turns the metadata-only
383
+ * repo record into a fully cloneable repo.
384
+ */
385
+ function migrateGitContent(ctx, owner, repo, reposPath) {
386
+ return __awaiter(this, void 0, void 0, function* () {
387
+ const slug = `${owner}/${repo}`;
388
+ console.log(`Importing git content from ${slug}...`);
389
+ const backend = new GitBackend({ basePath: reposPath });
390
+ const repoPath = backend.repoPath(ctx.did, repo);
391
+ // Step 1: Clone bare repo from GitHub (or skip if already on disk).
392
+ if (backend.exists(ctx.did, repo)) {
393
+ console.log(` Bare repo already exists at ${repoPath} — skipping clone.`);
394
+ }
395
+ else {
396
+ const cloneUrl = buildCloneUrl(owner, repo);
397
+ console.log(` Cloning ${cloneUrl} → ${repoPath}`);
398
+ yield cloneBare(cloneUrl, repoPath);
399
+ console.log(' Clone complete.');
400
+ }
401
+ // Step 2: Create full git bundle.
402
+ console.log(' Creating git bundle...');
403
+ const bundleInfo = yield createFullBundle(repoPath);
404
+ console.log(` Bundle: ${bundleInfo.size} bytes, ${bundleInfo.refCount} ref(s), tip: ${bundleInfo.tipCommit.slice(0, 8)}`);
405
+ // Step 3: Upload bundle to DWN.
406
+ const { contextId: repoContextId, visibility } = yield getRepoContext(ctx);
407
+ const encrypt = visibility === 'private';
408
+ try {
409
+ const bundleData = new Uint8Array(yield readFile(bundleInfo.path));
410
+ const { status } = yield ctx.repo.records.create('repo/bundle', {
411
+ data: bundleData,
412
+ dataFormat: 'application/x-git-bundle',
413
+ tags: {
414
+ tipCommit: bundleInfo.tipCommit,
415
+ isFull: true,
416
+ refCount: bundleInfo.refCount,
417
+ size: bundleInfo.size,
418
+ },
419
+ parentContextId: repoContextId,
420
+ encryption: encrypt,
421
+ });
422
+ if (status.code >= 300) {
423
+ throw new Error(`Failed to create bundle record: ${status.code} ${status.detail}`);
424
+ }
425
+ console.log(' Bundle uploaded to DWN.');
426
+ }
427
+ finally {
428
+ yield unlink(bundleInfo.path).catch(() => { });
429
+ }
430
+ // Step 4: Sync git refs to DWN.
431
+ console.log(' Syncing refs to DWN...');
432
+ const gitRefs = yield readGitRefs(repoPath);
433
+ let refCount = 0;
434
+ for (const ref of gitRefs) {
435
+ const { status } = yield ctx.refs.records.create('repo/ref', {
436
+ data: { name: ref.name, target: ref.target, type: ref.type },
437
+ tags: { name: ref.name, type: ref.type, target: ref.target },
438
+ parentContextId: repoContextId,
439
+ });
440
+ if (status.code >= 300) {
441
+ console.error(` Failed to sync ref ${ref.name}: ${status.code} ${status.detail}`);
442
+ continue;
443
+ }
444
+ refCount++;
445
+ }
446
+ console.log(` Synced ${refCount} ref(s) to DWN.`);
447
+ console.log(` Git content migration complete.`);
448
+ });
449
+ }
450
+ /**
451
+ * Build the clone URL for a GitHub repository.
452
+ * Uses the token (if available) for authenticated HTTPS clone.
453
+ */
454
+ function buildCloneUrl(owner, repo) {
455
+ const token = resolveGitHubToken();
456
+ if (token) {
457
+ return `https://${token}@github.com/${owner}/${repo}.git`;
458
+ }
459
+ return `https://github.com/${owner}/${repo}.git`;
460
+ }
461
+ /**
462
+ * Clone a git repository as a bare repo using `git clone --bare`.
463
+ */
464
+ function cloneBare(url, destPath) {
465
+ return new Promise((resolve, reject) => {
466
+ const child = spawn('git', ['clone', '--bare', url, destPath], {
467
+ stdio: ['pipe', 'pipe', 'pipe'],
468
+ });
469
+ const stderrChunks = [];
470
+ child.stderr.on('data', (chunk) => stderrChunks.push(chunk));
471
+ child.on('error', reject);
472
+ child.on('exit', (code) => {
473
+ if (code !== 0) {
474
+ const stderr = Buffer.concat(stderrChunks).toString('utf-8');
475
+ reject(new Error(`git clone --bare failed (exit ${code}): ${stderr}`));
476
+ }
477
+ else {
478
+ resolve();
479
+ }
480
+ });
481
+ });
482
+ }
483
+ // ---------------------------------------------------------------------------
202
484
  // migrate issues
203
485
  // ---------------------------------------------------------------------------
204
486
  function migrateIssues(ctx, args) {
205
487
  return __awaiter(this, void 0, void 0, function* () {
206
- const { owner, repo } = parseGhRepo(args);
488
+ const { owner, repo } = resolveGhRepo(args);
207
489
  try {
208
490
  const count = yield migrateIssuesInner(ctx, owner, repo);
209
491
  console.log(`\nImported ${count} issue${count !== 1 ? 's' : ''}.`);
@@ -278,7 +560,7 @@ function migrateIssuesInner(ctx, owner, repo) {
278
560
  // ---------------------------------------------------------------------------
279
561
  function migratePulls(ctx, args) {
280
562
  return __awaiter(this, void 0, void 0, function* () {
281
- const { owner, repo } = parseGhRepo(args);
563
+ const { owner, repo } = resolveGhRepo(args);
282
564
  try {
283
565
  const count = yield migratePullsInner(ctx, owner, repo);
284
566
  console.log(`\nImported ${count} patch${count !== 1 ? 'es' : ''}.`);
@@ -386,7 +668,7 @@ function migratePullsInner(ctx, owner, repo) {
386
668
  // ---------------------------------------------------------------------------
387
669
  function migrateReleases(ctx, args) {
388
670
  return __awaiter(this, void 0, void 0, function* () {
389
- const { owner, repo } = parseGhRepo(args);
671
+ const { owner, repo } = resolveGhRepo(args);
390
672
  try {
391
673
  const count = yield migrateReleasesInner(ctx, owner, repo);
392
674
  console.log(`\nImported ${count} release${count !== 1 ? 's' : ''}.`);
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../../src/cli/commands/migrate.ts"],"names":[],"mappings":"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"}