Subject: My patches

From: Felipe Contreras <[email-masked]>
Date: Sat, 12 Oct 2013 02:24:50 -0500

Hi,

Clearly, a lot of my patches have not been reviewed properly, so even
though they are technically correct, and would benefit users, some have
specifically been requested by them, and at least one would
significantly improve Git's user interface... they are going nowhere.

Here is the summary, and you can also find a web version:
https://github.com/felipec/git/wiki/My-patches

Cheers.

=== branch: improve verbose option ===

People have commented that this is a good change, yet it's ignored.

----
Felipe Contreras (2):
      branch: trivial cleanup
      branch: reorganize verbose options
----

Link: https://github.com/felipec/git/commits/fc/branch/fast +
Patches: http://mid.gmane.org/[email-masked] +

=== Reject non-ff pulls by default (v4) ===

The conclusion of the discussions is that this change is good, yet it doesn't move forward.

----
Felipe Contreras (7):
      pull: rename pull.rename to pull.mode
      pull: refactor $rebase variable into $mode
      pull: add --merge option
      pull: add merge-ff-only option
      pull: add warning on non-ff merges
      pull: cleanup documentation
      pull: add documentation about non-ff merges
----

Link: https://github.com/felipec/git/commits/fc/pull-merge-ff-only +
Patches: http://mid.gmane.org/[email-masked] +

=== remote-helpers: test reorganization (v2) ===

People have requested both that the scripts are autogenerated, and that we
provide instructions how to install these for distributions, this fixes both,
and yet is not merged.

----
Felipe Contreras (5):
      remote-helpers: generate scripts
      build: fix installation of scripts
      remote-helpers: rename tests
      remote-helpers: allow direct test execution
      remote-helpers: add exec-path links
----

Link: https://github.com/felipec/git/commits/fc/remote/reorg +
Patches: http://mid.gmane.org/[email-masked] +

=== build: add default aliases (v3) ===

All version control systems out there have default aliases, except Git.
Mercurial even allows overriding the main commands, like 'hg commit' so all the
arguments that use the override of default aliases causing discrepancies as a
reason to reject this change are void, since clearly Mercurial doesn't have
such problems.

----
Felipe Contreras (1):
      build: add default aliases
----

Link: https://github.com/felipec/git/commits/fc/default-aliases +
Patches: http://mid.gmane.org/[email-masked] +

=== Add core.mode configuration (v3) ===

Not even a reply.

----
Felipe Contreras (1):
      Add core.mode configuration
----

Link: https://github.com/felipec/git/commits/fc/config-mode-next +
Patches: http://mid.gmane.org/[email-masked] +

=== Officially start moving to the term 'staging area' ===

Everybody agrees this is the way to go, and yet Junio doesn't comment on the way
forward.

----
Felipe Contreras (14):
      Add proper 'stage' command
      stage: add edit command
      diff: document --staged
      grep: add --staged option
      rm: add --staged option
      stash: add --stage option to save
      stash: add --stage to pop and apply
      submodule: add --staged options
      apply: add --stage option
      apply: add --work, --no-work options
      completion: update --staged options
      reset: add --stage and --work options
      reset: allow --keep with --stage
      completion: update 'git reset' new stage options
----

Link: https://github.com/felipec/git/commits/fc/stage +
Patches: http://mid.gmane.org/[email-masked] +

=== transport-helper: updates (v3) ===

People have requested --foce --dry-run and old:new support for remote helpers,
this introduces those options and it was rejected without any reason given.

----
Felipe Contreras (10):
      transport-helper: add 'force' to 'export' helpers
      transport-helper: fix extra lines
      transport-helper: check for 'forced update' message
      fast-export: improve argument parsing
      fast-export: add new --refspec option
      transport-helper: add support for old:new refspec
      fast-import: add support to delete refs
      fast-export: add support to delete refs
      transport-helper: add support to delete branches
      transport-helper: don't update refs in dry-run
----

Link: https://github.com/felipec/git/commits/fc/transport/improv +
Patches: http://mid.gmane.org/[email-masked] +

=== Introduce publish tracking branch ===

This improves the support for triangular workflows, which even Junio accepted
is lacking, yet it didn't even receive comments.

----
Felipe Contreras (8):
      branch: trivial cleanup
      branch: reorganize verbose options
      push: trivial reorganization
      Add concept of 'publish' branch
      branch: allow configuring the publish branch
      t: branch add publish branch tests
      push: add --set-publish option
      branch: display publish branch
----

Link: https://github.com/felipec/git/commits/fc/publish +
Patches: http://mid.gmane.org/[email-masked] +

=== New git-related helper (v10) ===

This series was included in 'pu' and then silently dropped with no reason
given. 'git contacts' implements a rudimentary version of this, but lacks all
the features. I started an external project as a result.

----
Felipe Contreras (15):
      Add new git-related helper to contrib
      contrib: related: add tests
      contrib: related: add support for multiple patches
      contrib: related: add option to parse from committish
      contrib: related: parse committish like format-patch
      contrib: related: print the amount of involvement
      contrib: related: add helper Person classes
      contrib: related: show role count
      contrib: related: add support for more roles
      contrib: related: group persons with same email
      contrib: related: allow usage on other directories
      contrib: related: add mailmap support
      contrib: related: add option parsing
      contrib: related: add option to show commits
      contrib: related: add README
----

Link: https://github.com/felipec/git/commits/fc/related +
Patches: http://mid.gmane.org/[email-masked] +

=== fetch: add new fetch.default configuration ===

No response whatsoever, even after a thorough expalanation of the issue.
'git fetch .' is still braindead.

----
Felipe Contreras (1):
      fetch: add new fetch.default configuration
----

Link: https://github.com/felipec/git/commits/fc/fetch/default +
Patches: http://mid.gmane.org/[email-masked] +

=== Version fixes and cleanups (v4) ===

Our git.spec is clearly broken for release candidates, and yet the patch
doesn't receive feedback.

----
Felipe Contreras (2):
      version-gen: cleanup
      version-gen: fix versions
----

Link: https://github.com/felipec/git/commits/fc/version-fix +
Patches: http://mid.gmane.org/[email-masked] +

=== Trivial paches ===

----
Felipe Contreras (20):
      merge: simplify ff-only option
      t: replace pulls with merges
      pull: cleanup documentation
      fetch: add missing documentation
      remote: fix trivial memory leak
      revision: add missing include
      shortlog: add missing declaration
      branch: trivial style fix
      sha1-name: trivial style cleanup
      doc: git-foo was obsoleted several years ago
      symbolic-ref: trivial style fix
      alias: trivial style fix
      transport-helper: trivial style fix
      describe: trivial style fixes
      pretty: trivial style fix
      revision: trivial style fixes
      diff: trivial style fix
      run-command: trivial style fixes
      setup: trivial style fixes
      add: avoid yoda conditions
----

Patches: http://mid.gmane.org/[email-masked] +

=== Massive improvents to rebase and cherry-pick (v6) ===

People make a fuss that Ruby support is no-go because we need to move scripts
to C, and when somebody does the work for that, the work gets ignored, even
though it's fixing and simplyfing code.

----
Felipe Contreras (28):
      cherry-pick: don't barf when there's nothing to do
      cherry-pick: add --skip-empty option
      revert/cherry-pick: add --quiet option
      revert/cherry-pick: add --skip option
      builtin: add rewrite helper
      cherry-pick: store rewritten commits
      cherry-pick: don't store skipped commit
      builtin: move run_rewrite_hook() to rewrite.c
      builtin: rewrite: add copy_rewrite_notes()
      cherry-pick: add --action-name option
      cherry-pick: copy notes and run hooks
      cherry-pick: remember rerere-autoupdate
      rebase: split the cherry-pick stuff
      rebase: cherry-pick: fix mode storage
      rebase: cherry-pick: fix sequence continuation
      rebase: cherry-pick: fix abort of cherry mode
      rebase: cherry-pick: fix command invocations
      rebase: cherry-pick: fix status messages
      rebase: cherry-pick: automatically commit stage
      rebase: cherry-pick: set correct action-name
      rebase: trivial cleanup
      t: rebase-autostash: fix setup
      sequencer: store progress information
      prompt: parse cherry-pick rebase mode
      rebase: use 'cherrypick' mode instead of 'am'
      rebase: cherry-pick: add merge options
      rebase: remove merge mode
      rebase: cherry-pick: add copyright
----

Link: https://github.com/felipec/git/commits/fc/rebase +
Patches: http://mid.gmane.org/[email-masked] +

=== Support for Ruby (v2) ===

Ruby is clearly the way to move forward to replace shell and perl scripts with
C, with a similar syntax to all three, and yet this comprehensive patch series
doesn't even receive a response.

----
Felipe Contreras (44):
      Add support for ruby commands
      ruby: add support for internal ruby programs
      request-pull: fix annotated tag check
      request-pull: fix for specific branch
      request-pull: use appropriate ref
      request-pull: fix exact match checking
      request-pull: trivial simplification
      request-pull: t: trivial whitespace style fixes
      request-pull: t: add missing cat
      ruby: rewrite 'request-pull'
      ruby: request-pull: rewrite perl script
      ruby: request-pull: trivial simplifications
      ruby: bind setup_git_directory()
      ruby: bind dwim_ref()
      ruby: request-pull: use native dwim_ref()
      ruby: bind git_config()
      ruby: request-pull: use native git_config()
      ruby: bind read_ref()/peel_ref()
      ruby: bind get_sha1()
      ruby: request-pull: simplify tag fetching
      ruby: request-pull: use get_sha1()
      ruby: add Commit class
      ruby: bind get_merge_bases()
      ruby: request-pull: use get_merge_bases()
      ruby: request-pull: trivial cleanups
      ruby: bind remote and transport stuff
      ruby: request-pull: use native remote and transport
      ruby: bind find_unique_abbrev()
      ruby: request-pull: use native commit info
      ruby: bind read_sha1_file()
      ruby: request-pull: use read_sha1_file()
      revision: add missing include
      shortlog: add missing declaration
      shortlog: split builtin from common code
      ruby: add RevInfo and DiffOptions
      ruby: bind shortlog()
      ruby: request-pull: use shortlog()
      ruby: bind diff_tree_sha1()
      ruby: bind log_tree_diff_flush()
      ruby: request-pull: use native diff_tree stuff
      ruby: request-pull: remove rescue block
      ruby: remove GIT_PAGER from environment
      ruby: add simpler option parser
      request-pull: rewrite to C
----

Link: https://github.com/felipec/git/commits/fc/ruby +
Patches: http://mid.gmane.org/[email-masked] +

=== revision: add --except option (v3) ===

All comments were addressed, yet there doesn't seem to be any path forward.

----
Felipe Contreras (1):
      revision: add --except option
----

Link: https://github.com/felipec/git/commits/fc/revision/except +
Patches: http://mid.gmane.org/[email-masked] +

=== sha1-name: refactor get_sha1() parsing ===

Duy Nguyen suggested that I do this, and now that I do the first step, the work gets ignored.

----
Felipe Contreras (1):
      sha1-name: refactor get_sha1() parsing
----

Link: https://github.com/felipec/git/commits/fc/revision/refactor +
Patches: http://mid.gmane.org/[email-masked] +

-- 
Felipe Contreras