Магазин Subversion рассматривает возможность перехода на Mercurial, пытаясь заранее выяснить, какие будут жалобы разработчиков. Там один довольно распространенный случай использования, который я не вижу, как обращаться.
- Я работаю над довольно большой функцией, и у меня есть значительная часть кода - или, возможно, несколько значительных частей кода - на кусках по всему гаражному полу, совершенно непригодная для проверки, возможно, даже не компиляция.
- Входит срочный запрос на исправление ошибок. Исправление является хорошим и локальным и не касается какого-либо кода, над которым я работал.
- Я делаю исправление в своей рабочей копии.
Теперь что?
Я просмотрел "изменения меркуриальной вишни для фиксации и "лучшие практики в mercurial: branch vs. клонирование и частичные слияния? ", и все предложения, похоже, являются расширениями различной сложности: от Record и Shelve до Queues.
Тот факт, что, по-видимому, не существует какой-либо основной функциональности, вызывает у меня подозрение, что в некотором смысле этот рабочий стиль - это Doing It Wrong. Как выглядят похожие на Mercurial решения для этого случая использования?
Отредактировано для добавления: git, напротив, похоже, предназначено для этого рабочего процесса: git add
файлы исправлений, не git add
ничего другого (или git reset HEAD
что угодно уже добавлены), git commit
.