The contribution itself is relatively trivial; I just added some keys to tmux’s
choose-tree mode (invoked by commands like
choose-session, bound to
Prefix-s by default). They keys are specifically intended
to align with vi-style bindings.
Step (1) was completed by acceptance from Travis CI and a comment from nicm.
Step (2) automatically closes the linked issue and integrates the code. The best
part is that GitHub provides links to trace back from the merge commit to the PR
to the issue, and a graphical history log (such as the Insights > Network tab on
GitHub) shows the merge from the fork. Tools like
tracking these changes really easy. Finally, authorial information is correctly
capture (I authored the commits and their messages).
Instead, the same nicm did some form of a cherry-pick to another, separate fork, squashed the commits, edited the message to put my name on them, and merged that in via an unrelated process.
git-blame now has a harder time pointing you back to my original PR or
Yes: authorial information is obliterated. nicm authored those commits. My name is only incidentally attached (and, incidentally, I don’t care about the credit: I care about the history).
Yes: the history if FUBAR. It is effectively impossible to reconcile nicm’s
with the original issue/PR sequence that led to it. Someone could do it, but one
git (and GitHub) is to tie these things together in (publicly)
immutable history. No effort is needed to trace the history if merging is done.
Now it takes serious digging to connect these dots.
This is a broken software development process. I tmux and am writing in vim in tmux right now, but this has me flabbergasted. Such a well-running piece of software has creators that appear not to understand the value of git history. This is a regular pattern. The only contributors to the code are effectively nicm and ThomasAdam. No one else appears to have “contributed” since 2008 (or maybe the graphs are too tiny).
This is bad community.
So, to sum up: open-source projects should
They should NOT