All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/19] Make git-pull a builtin
@ 2015-06-03  6:48 Paul Tan
  2015-06-03  6:48 ` [PATCH v2 01/19] parse-options-cb: implement parse_opt_pass_strbuf() Paul Tan
                   ` (18 more replies)
  0 siblings, 19 replies; 48+ messages in thread
From: Paul Tan @ 2015-06-03  6:48 UTC (permalink / raw)
  To: git; +Cc: Stefan Beller, Johannes Schindelin, Stephen Robin, Paul Tan

This is a re-roll of [v1]. Thanks Johannes, Stefan and Junio for the reviews
last round.

Previous versions:

[v1] http://thread.gmane.org/gmane.comp.version-control.git/269258

git-pull is a commonly executed command to check for new changes in the
upstream repository and, if there are, fetch and integrate them into the
current branch. Currently it is implemented by the shell script git-pull.sh.
However, compared to C, shell scripts have certain deficiencies -- they need to
spawn a lot of processes, introduce a lot of dependencies and cannot take
advantage of git's internal caches.

This series rewrites git-pull.sh into a C builtin, thus improving its
performance and portability. It is part of my GSoC project to rewrite git-pull
and git-am into builtins[1].

[1] https://gist.github.com/pyokagan/1b7b0d1f4dab6ba3cef1


Paul Tan (19):
  parse-options-cb: implement parse_opt_pass_strbuf()
  parse-options-cb: implement parse_opt_pass_argv_array()
  argv-array: implement argv_array_pushv()
  pull: implement skeletal builtin pull
  pull: implement fetch + merge
  pull: pass verbosity, --progress flags to fetch and merge
  pull: pass git-merge's options to git-merge
  pull: pass git-fetch's options to git-fetch
  pull: error on no merge candidates
  pull: support pull.ff config
  pull: check if in unresolved merge state
  pull: fast-forward working tree if head is updated
  pull: implement pulling into an unborn branch
  pull: set reflog message
  pull: teach git pull about --rebase
  pull: configure --rebase via branch.<name>.rebase or pull.rebase
  pull --rebase: exit early when the working directory is dirty
  pull --rebase: error on no merge candidate cases
  pull: remove redirection to git-pull.sh

 Documentation/technical/api-argv-array.txt  |   3 +
 Makefile                                    |   2 +-
 advice.c                                    |   8 +
 advice.h                                    |   1 +
 argv-array.c                                |   6 +
 argv-array.h                                |   1 +
 builtin.h                                   |   1 +
 builtin/pull.c                              | 888 ++++++++++++++++++++++++++++
 git-pull.sh => contrib/examples/git-pull.sh |   0
 git.c                                       |   1 +
 parse-options-cb.c                          |  61 ++
 parse-options.h                             |   2 +
 12 files changed, 973 insertions(+), 1 deletion(-)
 create mode 100644 builtin/pull.c
 rename git-pull.sh => contrib/examples/git-pull.sh (100%)

-- 
2.1.4

^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2015-06-14  7:45 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-03  6:48 [PATCH v2 00/19] Make git-pull a builtin Paul Tan
2015-06-03  6:48 ` [PATCH v2 01/19] parse-options-cb: implement parse_opt_pass_strbuf() Paul Tan
2015-06-09 23:11   ` Junio C Hamano
2015-06-03  6:48 ` [PATCH v2 02/19] parse-options-cb: implement parse_opt_pass_argv_array() Paul Tan
2015-06-03 16:56   ` Stefan Beller
2015-06-09 23:16   ` Junio C Hamano
2015-06-10  7:11     ` Paul Tan
2015-06-10  8:03       ` Junio C Hamano
2015-06-03  6:48 ` [PATCH v2 03/19] argv-array: implement argv_array_pushv() Paul Tan
2015-06-03  6:48 ` [PATCH v2 04/19] pull: implement skeletal builtin pull Paul Tan
2015-06-10  0:23   ` Junio C Hamano
2015-06-03  6:48 ` [PATCH v2 05/19] pull: implement fetch + merge Paul Tan
2015-06-09 23:27   ` Junio C Hamano
2015-06-03  6:48 ` [PATCH v2 06/19] pull: pass verbosity, --progress flags to fetch and merge Paul Tan
2015-06-09 23:36   ` Junio C Hamano
2015-06-03  6:48 ` [PATCH v2 07/19] pull: pass git-merge's options to git-merge Paul Tan
2015-06-03  6:48 ` [PATCH v2 08/19] pull: pass git-fetch's options to git-fetch Paul Tan
2015-06-03 17:16   ` Stefan Beller
2015-06-03  6:48 ` [PATCH v2 09/19] pull: error on no merge candidates Paul Tan
2015-06-09 23:56   ` Junio C Hamano
2015-06-13  5:52     ` Paul Tan
2015-06-03  6:48 ` [PATCH v2 10/19] pull: support pull.ff config Paul Tan
2015-06-09 23:59   ` Junio C Hamano
2015-06-03  6:48 ` [PATCH v2 11/19] pull: check if in unresolved merge state Paul Tan
2015-06-10  1:29   ` Junio C Hamano
2015-06-10 14:38     ` Junio C Hamano
2015-06-10 15:12       ` Paul Tan
2015-06-10 17:14         ` Junio C Hamano
2015-06-14  7:44           ` Paul Tan
2015-06-03  6:48 ` [PATCH v2 12/19] pull: fast-forward working tree if head is updated Paul Tan
2015-06-03  6:48 ` [PATCH v2 13/19] pull: implement pulling into an unborn branch Paul Tan
2015-06-10  1:31   ` Junio C Hamano
2015-06-03  6:48 ` [PATCH v2 14/19] pull: set reflog message Paul Tan
2015-06-03  6:48 ` [PATCH v2 15/19] pull: teach git pull about --rebase Paul Tan
2015-06-10  1:56   ` Junio C Hamano
2015-06-10  7:55     ` Paul Tan
2015-06-10 14:44       ` Junio C Hamano
2015-06-10 15:35         ` Paul Tan
2015-06-10 16:13           ` Junio C Hamano
2015-06-10 23:02   ` Junio C Hamano
2015-06-03  6:49 ` [PATCH v2 16/19] pull: configure --rebase via branch.<name>.rebase or pull.rebase Paul Tan
2015-06-03  6:49 ` [PATCH v2 17/19] pull --rebase: exit early when the working directory is dirty Paul Tan
2015-06-03 10:27   ` Kevin Daudt
2015-06-10  5:53     ` Kevin Daudt
2015-06-03  6:49 ` [PATCH v2 18/19] pull --rebase: error on no merge candidate cases Paul Tan
2015-06-03 17:38   ` Stefan Beller
2015-06-03  6:49 ` [PATCH v2 19/19] pull: remove redirection to git-pull.sh Paul Tan
2015-06-03 17:49   ` Stefan Beller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.