summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorPratik Karki <predatoramigo@gmail.com>2018-08-06 19:31:11 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-06 20:08:01 (GMT)
commitac7f467fef8b836084afdce5eded047c79a6858d (patch)
tree44bb5810721b1fc758d563635d4b2a0760cefa28 /Makefile
parentc7b64aa0f3a83ed574d9d374bf2639c3c091120c (diff)
downloadgit-ac7f467fef8b836084afdce5eded047c79a6858d.zip
git-ac7f467fef8b836084afdce5eded047c79a6858d.tar.gz
git-ac7f467fef8b836084afdce5eded047c79a6858d.tar.bz2
builtin/rebase: support running "git rebase <upstream>"
This patch gives life to the skeleton added in the previous patches: With this change, we can perform a elementary rebase (without any options). It can be tested thusly by: git -c rebase.usebuiltin=true rebase HEAD~2 The rebase backends (i.e. the shell script functions defined in `git-rebase--<backend>`) are still at work here and the "builtin rebase"'s purpose is simply to parse the options and set everything up so that those rebase backends can do their work. Note: We take an alternative approach here which is *not* to set the environment variables via `run_command_v_opt_cd_env()` because those variables would then be visible by processes spawned from the rebase backends. Instead, we work hard to set them in the shell script snippet. On Windows, some of the tests fail merely due to core.fileMode not being heeded that's why the core.*config variables is parsed here. The `reset_head()` function is currently only used to detach the HEAD to onto by way of starting the rebase, but it offers additional functionality that subsequent patches will need like moving to the original branch (possibly updating it) and also to do the equivalent of `git reset --hard`. The next commits will handle and support all the wonderful rebase options. Signed-off-by: Pratik Karki <predatoramigo@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Makefile')
0 files changed, 0 insertions, 0 deletions