git stash
+ rebase
автоматизация
Поскольку, когда мне нужно много раз модифицировать старый коммит для обзоров Геррита, я делаю:
git-amend-old() (
# Stash, apply to past commit, and rebase the current branch on to of the result.
current_branch="$(git rev-parse --abbrev-ref HEAD)"
apply_to="$1"
git stash
git checkout "$apply_to"
git stash apply
git add -u
git commit --amend --no-edit
new_sha="$(git log --format="%H" -n 1)"
git checkout "$current_branch"
git rebase --onto "$new_sha" "$apply_to"
)
Использование:
git-amend-old $old_sha
Мне нравится это над --autosquash
, так как оно не раздавливает другие несвязанные исправления.
ОБНОВЛЕНИЕ: Вот пример того, как вы можете обработать тайм-аут:
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "http://www.example.com", true);
xmlHttp.onreadystatechange=function(){
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
clearTimeout(xmlHttpTimeout);
alert(xmlHttp.responseText);
}
}
// Now that we're ready to handle the response, we can make the request
xmlHttp.send("");
// Timeout to abort in 5 seconds
var xmlHttpTimeout=setTimeout(ajaxTimeout,5000);
function ajaxTimeout(){
xmlHttp.abort();
alert("Request timed out");
}
В IE8 вы можете добавить ] timeout обработчик события для объекта XMLHttpRequest
.
var xmlHttp = new XMLHttpRequest();
xmlHttp.ontimeout = function(){
alert("request timed out");
}
Я бы не рекомендовал делать синхронные вызовы, как предполагает ваш код, а также рекомендую использовать для этого инфраструктуру javascript. jQuery - самый популярный. Это делает ваш код более эффективным, простым в обслуживании и кросс-браузерной совместимостью.
Вы можете добавить обработчик события timeout к объекту XMLHttpRequest
.
var xmlHttp = new XMLHttpRequest();
xmlHttp.ontimeout = function(){
alert("request timed out");
}
Я бы не рекомендовал выполнять синхронные вызовы, как предполагает ваш код, а также рекомендую использовать для этого инфраструктуру javascript. jQuery - самый популярный. Это делает ваш код более эффективным, простым в обслуживании и кросс-браузерной совместимостью.
Вы можете добавить обработчик события timeout к объекту XMLHttpRequest
.
var xmlHttp = new XMLHttpRequest();
xmlHttp.ontimeout = function(){
alert("request timed out");
}
Я бы не рекомендовал выполнять синхронные вызовы, как предполагает ваш код, а также рекомендую использовать для этого инфраструктуру javascript. jQuery - самый популярный. Это делает ваш код более эффективным, простым в обслуживании и кросс-браузерной совместимостью.