@vibe-validate/git 0.18.0 → 0.18.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"tree-hash.d.ts","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiFxD;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,CAUzD;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS9D"}
1
+ {"version":3,"file":"tree-hash.d.ts","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,QAAQ,CAAC,CAsFxD;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,QAAQ,CAAC,CAUzD;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAS9D"}
package/dist/tree-hash.js CHANGED
@@ -10,7 +10,7 @@
10
10
  * git stash create includes timestamps, making hashes non-deterministic.
11
11
  * git write-tree produces content-based hashes only (no timestamps).
12
12
  */
13
- import { copyFileSync, unlinkSync } from 'node:fs';
13
+ import { copyFileSync, existsSync, unlinkSync } from 'node:fs';
14
14
  import { executeGitCommand } from './git-executor.js';
15
15
  const GIT_TIMEOUT = 30000; // 30 seconds timeout for git operations
16
16
  /**
@@ -40,11 +40,15 @@ export async function getGitTreeHash() {
40
40
  const gitDir = executeGitCommand(['rev-parse', '--git-dir'], { timeout: GIT_TIMEOUT }).stdout.trim();
41
41
  const tempIndexFile = `${gitDir}/vibe-validate-temp-index`;
42
42
  try {
43
- // Step 1: Copy current index to temp index
43
+ // Step 1: Copy current index to temp index (if it exists)
44
44
  const currentIndex = `${gitDir}/index`;
45
- // SECURITY: Use Node.js fs.copyFileSync instead of shell cp command
46
- // Prevents potential command injection if gitDir contains malicious characters
47
- copyFileSync(currentIndex, tempIndexFile);
45
+ // CRITICAL: In fresh repos (git init, no commits), .git/index doesn't exist yet
46
+ // Only copy if index exists; git add will create temp index if it doesn't
47
+ if (existsSync(currentIndex)) {
48
+ // SECURITY: Use Node.js fs.copyFileSync instead of shell cp command
49
+ // Prevents potential command injection if gitDir contains malicious characters
50
+ copyFileSync(currentIndex, tempIndexFile);
51
+ }
48
52
  // Step 2: Use temp index for all operations (doesn't affect real index)
49
53
  const tempIndexEnv = {
50
54
  ...process.env,
@@ -1 +1 @@
1
- {"version":3,"file":"tree-hash.js","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree-hash.js","sourceRoot":"","sources":["../src/tree-hash.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-validate/git",
3
- "version": "0.18.0",
3
+ "version": "0.18.1",
4
4
  "description": "Git utilities for vibe-validate - tree hash calculation, branch sync, and post-merge cleanup",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -38,7 +38,7 @@
38
38
  "access": "public"
39
39
  },
40
40
  "dependencies": {
41
- "@vibe-validate/utils": "0.18.0"
41
+ "@vibe-validate/utils": "0.18.1"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/node": "^22.19.2",