xaizek / vifm (License: GPLv2+) (since 2018-12-07)
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt.
Commit 727a9cb0ca04bcc02a8f2a6c14d9c39ddb89b59b

git: fix detecting file removal from index
Such files appear twice: first as 'D ' then as '??'. Keep the first
status, so it can be displayed appropriately.
Author: xaizek
Author date (UTC): 2026-03-30 09:21
Committer name: xaizek
Committer date (UTC): 2026-03-30 10:49
Parent(s): c3df15dc82fbc3226d7a9be2d41b7cbeddc5c59a
Signing key: 99DC5E4DB05F6BE2
Tree: 2ebc787edff398baddeba3af9521c9d5def32bcc
File Lines added Lines deleted
data/plugins/git/statuses.lua 6 2
File data/plugins/git/statuses.lua changed (mode: 100644) (index 045d05c6b..0b4a4d9f4)
... ... end
82 82 local function set_file_status(node, path, status, expires) local function set_file_status(node, path, status, expires)
83 83 local slash = path:find('/') local slash = path:find('/')
84 84 if slash == nil then if slash == nil then
85 node.items[path] = status
86 update_dir_status(node, status)
85 -- a file removed from index appears twice: first as 'D ' then as '??',
86 -- keep the first status
87 if node.items[path] == nil then
88 node.items[path] = status
89 update_dir_status(node, status)
90 end
87 91 return node.status return node.status
88 92 end end
89 93
Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/vifm

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/vifm

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master