apache / apache/hop

[Feature Request]: Enhance Git Compatibility for Explorer File Operations

Open
#6,386 0 comments 0 reactions 0 assignees View on GitHub
awaiting triage Hop Gui P3
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.