[Feature Request]: Enhance Git Compatibility for Explorer File Operations
- Dominant language
- Java
- Stars
- 1.5k
- Forks
- 476
- Avg merge
- 18h 32m
- Merged PRs (30d)
- 216
Description
### What would you like to happen?
### Summary
Extend the Explorer (file browser) so that move, rename, and delete actions performed in the GUI automatically translate into the correct Git operations (git mv, git rm) in the background, preserving file history and ensuring clean, accurate version control.
### Problem
Currently, when users:
- Rename a file in the Explorer
- Move a file between folders
- Delete a file
the GUI performs filesystem-level operations only.
From Git’s perspective this becomes:
- A file deleted
- A new file created
Instead of:
```
git mv old_file new_file
git rm deleted_file
```
This causes:
- Loss of file history
- No traceability across renames or moves
- Messy diffs
- Poor blame and auditability
- Friction for teams using Git as their source-of-truth
This is especially painful for pipelines, workflows and other reusable components in regulated or audited environments
### Proposed Behaviour
When the user performs file operations in the Explorer:
GUI Action | Git Command
-- | --
Rename file | git mv old new
Move file | git mv old_path new_path
Delete file | git rm file
This ensures:
File history is preserved
- Git diff is clean
- Git blame continues to work
- Reviews and audits remain meaningful
### Why this matters
Modern data and pipeline development is Git-first.
Users expect:
- Version history
- Clean diffs
- Accurate lineage across refactors
- Safe collaboration
Today, GUI-driven refactoring silently breaks Git semantics.
This feature would make the Explorer:
**A Git-aware refactoring tool instead of a dumb file browser**
### Scope
This should apply whenever:
- The project is a Git repository
- The working directory is clean or staged
If Git is not present:
- Fall back to current filesystem behaviour
### Impact
This enables:
- Safe refactoring
- Better audits
- Proper lineage
- Professional Git workflows for no-code / low-code users
- With zero change to how users interact with the UI.
### Issue Priority
Priority: 3
### Issue Component
Component: Hop Gui
Contributor guide
Research direction
The issue does not name specific files or tests. Start by locating the Hop Gui Explorer implementations for rename, move, and delete operations, then inspect how Git repositories are detected and commands are invoked. Done means Git projects use the corresponding git mv or git rm behavior for these actions, while non-Git projects retain filesystem behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, java
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100