- Главная
- Информатика
- Поиск ошибок и причин изменений в коде

Содержание
- 2. Команда hg bisect Примеры ситуаций, когда полезно использовать команду hg bisect: - Самая последняя версия программного
- 3. Команда hg bisect Команда hg bisect работает по шагам: 1. Вы запускаете Ваш бинарный тест Если
- 4. Команда hg bisect hg bisect --reset hg bisect --bad hg bisect --good 10 Testing changeset 22:e9e43d57c12e
- 5. Команда hg log Допустим, Вам нужно полное описание изменений или список измененных файлов, чтобы узнать, та
- 6. Команда hg log Или ситуация, когда вы хотите видеть и описание, и то как изменялось содержимое.
- 7. Команда hg annotate Допустим, Вы знаете ревизию, в которой допущена ошибка. И хотите узнать, чей код
- 9. Скачать презентацию
Слайд 2Команда hg bisect
Примеры ситуаций, когда полезно использовать команду hg bisect:
- Самая последняя
Команда hg bisect
Примеры ситуаций, когда полезно использовать команду hg bisect:
- Самая последняя

- Вы исправили ошибку в спешке, и теперь пришло время закрыть запись об ошибке в багтрекере вашей команды. Багтрекер данных требует ID ревизии, когда вы закрываете записи, но Вы не помните, в какой ревизии исправили ошибку.
2
Слайд 3Команда hg bisect
Команда hg bisect работает по шагам:
1. Вы запускаете Ваш бинарный тест
Команда hg bisect
Команда hg bisect работает по шагам:
1. Вы запускаете Ваш бинарный тест

Если неуспешен, запускаете команду hg bisect --bad
2. Mercurial использует вашу информацию, чтобы решить, какая ревизия для тестирования следующая
3. Он обновляет рабочий каталог до этой ревизии и процесс повторяется сначала до тех пор пока hg bisect не идентифицирует уникальный набор изменений, который знаменует собой точку, где Ваш тест перешел из ”успешного” в “неуспешный”
Опции:
-r (--reset) сбросить bisect.
-g (--good) отметить ревизию как “хорошую”
-b (--bad) отметить ревизию как “плохую”
-s (--skip) пропустить тестовый набор изменений
-e (--extend) расширить диапазон bisect
3
Слайд 4Команда hg bisect
hg bisect --reset
hg bisect --bad
hg bisect --good 10
Testing changeset 22:e9e43d57c12e
Команда hg bisect
hg bisect --reset
hg bisect --bad
hg bisect --good 10
Testing changeset 22:e9e43d57c12e

0 files updated, 0 files merged, 12 files removed, 0 files unresolved
[ваше тестирование]
hg bisect --bad
Testing changeset 16:a20d4936611f (12 changesets remaining, ~3 tests)
0 files updated, 0 files merged, 6 files removed, 0 files unresolved
[ваше тестирование]
hg bisect --good
...
hg bisect --good
The first bad revision is:
changeset: 22:e9e43d57c12e
user: Bryan O'Sullivan
date: Thu Feb 02 14:09:26 2012 +0000
summary: buggy changeset
hg bisect --reset
4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Слайд 5Команда hg log
Допустим, Вам нужно полное описание изменений или список измененных файлов,
Команда hg log
Допустим, Вам нужно полное описание изменений или список измененных файлов,

Команда hg log с ключом -v (--verbose) предоставляет такую возможность.
5
Пример:
$ hg log -v -r 3
changeset: 3:0272e0d5a517
user: Bryan O'Sullivan
date: Sat Aug 16 22:08:02 2008 +0200
files: Makefile
description:
Get make to generate the final binary from a .o file.
Слайд 6Команда hg log
Или ситуация, когда вы хотите видеть и описание, и то
Команда hg log
Или ситуация, когда вы хотите видеть и описание, и то

6
Пример:
$ hg log -v -p -r 2
changeset: 2:fef857204a0c
user: Bryan O'Sullivan
date: Sat Aug 16 22:05:04 2008 +0200
files: hello.c
description:
Introduce a typo into hello.c.
diff -r 82e55d328c8c -r fef857204a0c hello.c
--- a/hello.c Fri Aug 26 01:21:28 2005 -0700
+++ b/hello.c Sat Aug 16 22:05:04 2008 +0200
@@ -11,6 +11,6 @@
int main(int argc, char **argv)
{
- printf("hello, world!\n");
+ printf("hello, world!\");
return 0;
}
Слайд 7Команда hg annotate
Допустим, Вы знаете ревизию, в которой допущена ошибка. И хотите
Команда hg annotate
Допустим, Вы знаете ревизию, в которой допущена ошибка. И хотите

7
Пример:
$hg annotate -unl aFile
jim 1519:477: a = 4
bob 1518:468: b = 5
max 1496:402: return a
Опции:
-u (--user) выводит автора
-n (--number ) выводит номер ревизии
-l (--line-number ) выводит номер строки
-d (--date) выводит дату
Основы программирования. Лабораторная работа №1
Bnovo. IT решения для отелей
Композиция внутренних элементов книги
Классификация программного обеспечения
Автоматизация управления работой с клиентами посредством системы СRМ
Коммуникация. Принципы связи
Почему Optimum Media Eurasia?
Составление и оформление научно-технической документации и научных отчетов
Электронные таблицы EXCEL
Van Game's
Поиск информации. Компьютер
Лекция 5
Компьютерные презентации
Презентация на тему Системы счисления, история и современность
Интерактивные визуальные коммуникации.Genially
Операционная система Android. Введение в объектноориентированное программирование. Модуль 2
Разработка предложений по совершенствованию применения информационно-программных комплексов и технологий в МЧС России
Титульная страница
Свойства логических операций
Правило Если – то. Схема рассуждений
Управление параллелизмом с низкими накладными расходами
Правила расположения рук на клавиатуре
Программа Дизайн компьютерных игр
Алгоритмы работы с величинами
Решение задач на кодирование графической информации. Подготовка к ЕГЭ
Логические величины, операции, выражения
Dreamtrips без границ
Операционная система реального времени QNX. Семейство операционных систем MAC OS. Лекция 13