Prevents corrupting the shared drive by writing directly into the
root worktree or gitdir paths when the name cannot be derived.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Derive the repository name from the clone URL by extracting the
last path segment and stripping the .git suffix. Applied to the
web controller, GitService, and telnet interface. The telnet
prompt now shows the default name in brackets.
Also fix flaky contextLoads test by using RANDOM_PORT.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace single-page layout with a frameset: left navigation frame
with repo dropdown and page links, right content frame showing
the selected page. Split the repo page into separate sub-pages:
branches, changes, remote, and manage.
Uses <frameset> for maximum compatibility with ancient browsers
(Netscape 2+, IE 3+). Clone and delete forms target _top to
reload the full frameset when the repo list changes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
GitService.deleteRepository() removes both worktree and git-dir.
Exposed via POST /repo/{name}/delete, a 'Danger Zone' section on
the repo page, and telnet main menu option 4 with confirmation
prompt. Includes unit tests for all layers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add GitService.unstageFiles() using JGit reset to move files from
staged back to modified. Exposed via POST /repo/{name}/unstage
endpoint, repo page with checkboxes, and telnet menu option 7.
Includes unit tests for all layers.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add JaCoCo plugin for coverage reporting. Add additional tests
for null/edge cases in TelnetSession, TelnetServer, and
WebgitApplication.main to maximize coverage.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Telnet server with text-based menu for all Git operations.
Enabled via webgit.telnet.enabled=true property, defaults to
port 2323. Includes unit tests for session and server.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Home page lists repositories with clone form. Repo page shows
branch management, file staging, commit, push and pull controls.
Table-based layout with no JavaScript or CSS for retro browser
compatibility. Includes MockMvc integration tests.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implements all core Git operations using JGit with separate
worktree and git-dir paths. Includes comprehensive unit tests.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>