Hi Paul, Congratulations on getting your project accepted for GSOC. Here's my attempt at implementing pull as a builtin, maybe it will be of some use as you look to progress your version. It's fairly complete in the sense that all the features of git-pull.sh should be implemented, the test suite passes, and I've been using it myself without issue. At the same time it's some way from finished as I've never had time to test it fully and there are parts of the code I'm not happy with. Apologies for not sharing this with you earlier. I have been too busy with paid work to look at any open source projects for some months. Good luck with your project! Regards Stephen Stephen Robin (6): merge: tidy up options merge: move error message given when a merge needs committing to advice.c merge-base: split handle_fork_point to make reuse easier pull: reimplement as a builtin in C pull: allow interactive rebase parse-remote: dismantle git-parse-remote.sh .gitignore | 2 - Documentation/config.txt | 1 + Documentation/git-parse-remote.txt | 23 - Documentation/git-pull.txt | 4 +- Makefile | 3 +- advice.c | 9 + advice.h | 1 + builtin.h | 3 + builtin/merge-base.c | 64 ++- builtin/merge.c | 16 +- builtin/pull.c | 1006 ++++++++++++++++++++++++++++++++++ builtin/remote.c | 8 +- command-list.txt | 1 - contrib/examples/git-parse-remote.sh | 89 +++ contrib/examples/git-pull.sh | 340 ++++++++++++ git-parse-remote.sh | 89 --- git-pull.sh | 340 ------------ git-rebase.sh | 36 +- git-submodule.sh | 8 +- git.c | 1 + 20 files changed, 1547 insertions(+), 497 deletions(-) delete mode 100644 Documentation/git-parse-remote.txt create mode 100644 builtin/pull.c create mode 100644 contrib/examples/git-parse-remote.sh create mode 100755 contrib/examples/git-pull.sh delete mode 100644 git-parse-remote.sh delete mode 100755 git-pull.sh -- 2.4.0.7.gf20f26f -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html