tree 8b3eb330c645e4f020a9ef7f10e78491474ec8ab
parent 6e4636006501be61b940388381cd75a8ad00e6b5
author Josh Bleecher Snyder <josharian@gmail.com> 1748458258 +0000
committer Josh Bleecher Snyder <josharian@gmail.com> 1748458889 -0700

loop: use repo root instead of working directory for git diff support

Change all git HTTP endpoints to use RepoRoot() instead of WorkingDir()
to resolve failures when sketch is started from different directories than
where the Docker container was created.

The issue occurred because:
- WorkingDir() returns current working directory (could be /app/subdir)
- Git tools need repository root directory (/app) for relative file paths
- When Docker sets working directory to subdirectory, git operations fail

Changes include:

1. Added RepoRoot() method to Agent and CodingAgent interface:
   - Returns a.repoRoot (the git repository root directory)
   - Complements existing WorkingDir() method

2. Updated all git HTTP endpoints to use RepoRoot():
   - handleGitCat: fixes GitCat file access from subdirectories
   - handleGitRawDiff: ensures diff operations work correctly
   - handleGitShow: ensures show operations work correctly
   - handleGitSave: ensures file saving works correctly
   - handleGitRecentLog: ensures log operations work correctly

The fix ensures git ls-files and other git operations work reliably
regardless of which directory sketch was started from, resolving the
reported GitCat directory issue where files couldn't be found when
starting sketch from different locations.

Testing confirmed GitCat now works correctly when repository root is
used instead of working directory, and git operations succeed from
any starting directory.

Fixes #119

Co-Authored-By: sketch <hello@sketch.dev>
Change-ID: sb73dac311df0c78dk