I had already given up on merging important features to Git upstream,
and then one of the features I've had in git-fc (my fork) for quite
some time suddenly got attention (the @{publish} branch), but
everybody forgot I already did the work. So maybe there's other
features in a similar situation.

= The publish tracking branch =

Git's triangular workflow support is definitely lacking, and although
there are many ideas and workarounds, the simplest and most
user-friendly way to fix the issues is by introducing the concept of a
publish tracking branch, similar to the upstream tracking branch.

Fortunately this might actually get into v2.0.


= Reject non-fast-forward pulls by default =

Many new-comers end up making merges by mistake when they pull because
they don't understand what is a non-fast-forward and what they should
actually be doing. Most people, even Linus Torvalds, agreed that by
default `git pull` should fail and guide the user, instead of silently
making a merge which might not be what the user wants (even though he
doesn't know it), and messing up the project's history, which affects
other people.

The patches were sent, the issues were addressed, people agreed, and
yet nothing happened.


= Use "stage" instead of "index" =

Everybody, and by everybody I literally mean everyone except Junio,
have agreed that "index" is a horrible name of the high-level concept
(not the actual index file) of the pace where the user drafts a
commit. Different actions were proposed to move towards a saner name,
and the simplest sensible one seems to be to start renaming the
confusing --cached and --index options to --stage and --no-work, and
also to add a new `git stage` command.

Nothing happened.


= Default aliases =

Every single version control tool out there has default aliases (e.g.
co = checkout) except Git.

Every argument against default aliases was basically refuted, yet my
patches went nowhere. And the users still expect these aliases.


[1] http://thread.gmane.org/gmane.comp.version-control.git/235981
[2] http://thread.gmane.org/gmane.comp.version-control.git/240030
[3] http://thread.gmane.org/gmane.comp.version-control.git/240030
[4] http://thread.gmane.org/gmane.comp.version-control.git/235981
[5] http://thread.gmane.org/gmane.comp.version-control.git/233295
[6] http://thread.gmane.org/gmane.comp.version-control.git/197111
[7] http://thread.gmane.org/gmane.comp.version-control.git/166675
[8] http://thread.gmane.org/gmane.comp.version-control.git/115666
[9] http://thread.gmane.org/gmane.comp.version-control.git/235145

Felipe Contreras
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to