2014-02-06 1 views
2

Я работаю под Windows 7, и я установил msysgit и TortoiseGit. Я написал крюк pre-rebase для репозитория git.TortoiseGit - pre-rebase hook не выполнен

Крючок называется, когда я переустанавливаю репо из Git Bash. Однако крючок не вызывается, если я начинаю rebase от TortoiseGit. Я попытался написать крюк pre-commit, и он работает от бота Git Bash и TortoiseGit.

Крючок следующее:

#!/bin/sh 
# 
# Copyright (c) 2006, 2008 Junio C Hamano 
# 
# The "pre-rebase" hook is run just before "git rebase" starts doing 
# its job, and can prevent the command from running by exiting with 
# non-zero status. 
# 
# The hook is called with the following parameters: 
# 
# $1 -- the upstream the series was forked from. 
# $2 -- the branch being rebased (or empty when rebasing the current branch). 
# 
# This sample shows how to prevent topic branches that are already 
# merged to 'next' branch from getting rebased, because allowing it 
# would result in rebasing already published history. 

echo '************************************************************' 
echo '********************** Running CMake **********************' 
echo '************************************************************' 
cmake -G "Visual Studio 11" -BBuild/ -Hsrc 

Что случилось?

ответ

1

Насколько я могу судить (используя git reflog), «rebase» в TortoiseGit действительно не выполняет истинный git rebase. Вместо этого TortoiseGit эмулирует rebase с использованием вишневых кирков.

Я не знаю, почему, может быть, это включить gui для интерактивной перезагрузки?

Во всяком случае, так как истинная переадресация не выполняется, никакой крючок, связанный с бонусом, не будет запущен.

+0

«Истинный» git также использует вишневые подборки;) – MrTux

+0

@MrTux в каком смысле? Вишни и перестановки выглядят по-разному в 'git reflog' и запускают разные крючки. –

+0

Rebase - это просто сценарий bash вокруг вишневого кирка. – MrTux