История изменений
Исправление hateyoufeel, (текущая версия) :
О! Спасибо, что расписал.
Преимущества Mercurial (лично для меня)
- Более понятное и внятное описание команд. Например, есть команда hg update -r…, которая просто обновляет файлы до выбранной ревизии. В git для этого я использую git checkout, при этом он пишет какую-то неведомую хрень про отсоединённую голову… Некоторые действия в git документированы настолько фигово, что проще залезть в интернет, чтобы найти, например, как отменить все изменения в выбранном файле. Но это, конечно, вкусовщина и дело привычки…
Есть такое. git-checkout который делает вообще всё на свете – это и правда мрак и хтонь.
- Более прикольная и удобная вещь — челвекочитаемый номер ревизии. Да, я в курсе, что он может быть разным в разных клонах репозитория, но если я работаю только со своим клоном, проще писать hg update -r 322. Это реально удобная вещь, которой не хватает в git
Ммм… возможно. Тут у меня нет предпочтений как в одну, так и в другую сторону.
- TortoiseHg прекрасен, все более-менее сложные операции делаю через него. Да, у гита тоже есть гуишные морды, но gitk выглядит убого, а остальные… Нет единого стиля, короче.
Гуй в VCS – это что-то странное. Как я выше писал, magit мне хватает за глаза, и то только потому что он в емаксе уже есть и не нужно открывать терминал.
- В hg есть «вечно живущие» ветки и букмарки (аналог гитовских веток). Можно долго спорить, как правильно и не лучше ли один вариант, но в любом случае наличие возможностей лучше их отсутствия.
Если я не ошибаюсь, «ветки» в hg – это аналог тэгов в git.
5.
Mercurial написан на божественном ПитонеЛадно, этот пункт мы пропустим.
- Меркуриал, на мой взгляд, аккуратнее оперирует с пользовательскими данными и на всякий потенциально опасный чих переспрашивает и делает бэкапы. Конечно, и в нём можно всё похерить, но это надо постараться.
Git ничего не удаляет в принципе, пока ты отдельно не попросишь (git gc). Все действия, которые ты делаешь (кроме git gc), только добавляют в репозитарий. Если ты случайно запорол ветку, её всегда можно достать из git reflog.
- Тут я не придумал, что написать, поэтому напишу своё резюме. В целом, в настоящее время каких-либо киллер-фич у меркуриала по сравнению с гитом нет, недостатки и определённые достоинства имеются. Я им пользуюсь, поскольку более привычен. Гит писался гиками для гиков.
И git и hg – это попытка скопировать BitKeeper, на который в начале-середине нулевых многие подсели, включая Торовалтоса и авторов Mercurial, но – вот те раз! – он был проприетарным и за бабло, что очень сильно ограничивало список людей, готовых участвовать в проектах с ним. Там даже была история, как автор BitKeeper угрожал засудить работодателя одного из оригинальных разрабов Mercurial, потому что лицензия BK в том числе требовала не работать над конкурирующими продуктами.
Исходная версия hateyoufeel, :
О! Спасибо, что расписал.
Преимущества Mercurial (лично для меня)
- Более понятное и внятное описание команд. Например, есть команда hg update -r…, которая просто обновляет файлы до выбранной ревизии. В git для этого я использую git checkout, при этом он пишет какую-то неведомую хрень про отсоединённую голову… Некоторые действия в git документированы настолько фигово, что проще залезть в интернет, чтобы найти, например, как отменить все изменения в выбранном файле. Но это, конечно, вкусовщина и дело привычки…
Есть такое. git-checkout который делает вообще всё на свете – это и правда мрак и хтонь.
- Более прикольная и удобная вещь — челвекочитаемый номер ревизии. Да, я в курсе, что он может быть разным в разных клонах репозитория, но если я работаю только со своим клоном, проще писать hg update -r 322. Это реально удобная вещь, которой не хватает в git
Ммм… возможно. Тут у меня нет предпочтений как в одну, так и в другую сторону.
- TortoiseHg прекрасен, все более-менее сложные операции делаю через него. Да, у гита тоже есть гуишные морды, но gitk выглядит убого, а остальные… Нет единого стиля, короче.
Гуй в VCS – это что-то странное. Как я выше писал, magit мне хватает за глаза, и то только потому что он в емаксе уже есть и не нужно открывать терминал.
- В hg есть «вечно живущие» ветки и букмарки (аналог гитовских веток). Можно долго спорить, как правильно и не лучше ли один вариант, но в любом случае наличие возможностей лучше их отсутствия.
Если я не ошибаюсь, «ветки» в hg – это аналог тэгов в git.
5.
Mercurial написан на божественном ПитонеЛадно, этот пункт мы пропустим.
- Меркуриал, на мой взгляд, аккуратнее оперирует с пользовательскими данными и на всякий потенциально опасный чих переспрашивает и делает бэкапы. Конечно, и в нём можно всё похерить, но это надо постараться.
Git ничего не удаляет в принципе, пока ты отдельно не попросишь (git gc). Все действия, которые ты делаешь (кроме git gc), только добавляют в репозитарий. Если ты случайно запорол ветку, её всегда можно достать из git rev-log.
- Тут я не придумал, что написать, поэтому напишу своё резюме. В целом, в настоящее время каких-либо киллер-фич у меркуриала по сравнению с гитом нет, недостатки и определённые достоинства имеются. Я им пользуюсь, поскольку более привычен. Гит писался гиками для гиков.
И git и hg – это попытка скопировать BitKeeper, на который в начале-середине нулевых многие подсели, включая Торовалтоса и авторов Mercurial, но – вот те раз! – он был проприетарным и за бабло, что очень сильно ограничивало список людей, готовых участвовать в проектах с ним. Там даже была история, как автор BitKeeper угрожал засудить работодателя одного из оригинальных разрабов Mercurial, потому что лицензия BK в том числе требовала не работать над конкурирующими продуктами.