# Repository Guidelines ## Project Structure & Module Organization The root contains a single Bash entry point, `svn_git_init`, which automates cloning a subdirectory from an SVN repository into a Git checkout. It creates a transient `trunk-git/` working tree, so keep temporary artifacts out of version control. Place future helpers beside the script and document new folders directly in this section. ## Build, Test, and Development Commands Run the script from the SVN subdirectory you want to migrate: `bash svn_git_init`. Make it executable locally with `chmod +x svn_git_init` if you prefer `./svn_git_init`. Lint changes before committing via `shellcheck svn_git_init`, and rely on `set -euo pipefail` semantics if you introduce new entry points. ## Coding Style & Naming Conventions Follow the existing two-space indentation and align continued command options for readability. Use uppercase SNAKE_CASE for environment or exported variables and lowercase for locals. Always wrap variable expansions in quotes and prefer modern Bash features (`$(...)`, `[[ ]]`). Keep inline comments focused on non-obvious logic, such as awk pipelines or revision math. ## Testing Guidelines There is no automated suite yet; validate behavior by running against a disposable SVN repository. You can create one with `svnadmin create /tmp/demo && svn import ...` to exercise first-of-branch detection and progress output. Confirm `git svn fetch` completes and that the resulting `trunk-git/.git/config` points at the expected subpath. Treat `shellcheck` as a gate—PRs should pass with zero warnings. ## Commit & Pull Request Guidelines Use imperative, one-line commit subjects (e.g., `Refine progress reporting`). Reference related tickets in the body when relevant and note any manual verification performed. PRs should include a concise summary, reproduction or validation steps, and mention any new dependencies (`git svn`, `shellcheck`, etc.). Attach console output snippets if they highlight edge cases. ## Security & Configuration Tips The script destroys `trunk-git/` on each run; double-check the target path before invoking. Avoid adding commands that require network credentials without documenting the expectation, and keep quoting strict to prevent word splitting when paths contain spaces.