Differences between revisions 7 and 8
Revision 7 as of 2015-06-23 13:52:52
Size: 2104
Editor: andrey
Comment: дополнено по hg revert, а то забывал как аргументы употреблять
Revision 8 as of 2015-09-08 14:08:20
Size: 3011
Editor: andrey
Comment: hg strip
Deletions are marked like this. Additions are marked like this.
Line 35: Line 35:
-------
Иногда всё же случается налажать, причём не только локально :) Так что для удаления "по быстренькому"
{{{#!shell
hg strip COMMIT # должно быть включено расширение "mq =" в hgrc, действует на локальную версию репозитория
}}}
Если вы так же пользуетесь bitbucket и уже успели отправить версию в свой апстрим, то теперь это не смертельно и можно быстренько всё подтереть "[[https://bitbucket.org/site/master/issues/186/strip-functionality-for-repositories#comment-18693 | see the 'Repository management' link in the 'Admin' section]]" (Выбрать ропозиторий --> Settings --> Strip changesets)

Смотри:

http://omnia.oeey.com/Mercurial

https://mercurial.selenic.com/wiki/Workflows http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/


   1 % hg branches                                     # список имеющихся бранчей ревизий:хешей
   2 simh                          55:5548da3232c3
   3 wine64                        54:4e0549379abe
   4 pyfa                          38:429a2a659c2a
   5 andrey                        34:368ea1313c41 (inactive)
   6 % hg update andrey                               # переходим в "корневой"
   7 % rm -Rf ...                                     # делаем что нужно для нового бранча
   8 % hg remove  ...
   9 % hg branch newbr                                # создаём бранч
  10 % hg commit --user=f_andrey                      # коммитим
  11 % hg push --new-branch https://bitbucket.org/f_andrey/redports_andrey/    # пушим вместе с новым бранчем
  12 
  13 % hg annotate file                              # покажет файл с разбивкой по ревизиям
  14 % hg forget ./                                  # "забыть" файлы, которые случайно добавили hg add но ещё не коммитили


Со слиянием бранчей надо что то думать, пока как рабочий вариант, в мойм случае, когда в основном бранче всё, а в ответвлениях отдельные порты, более менее подходит способ http://stackoverflow.com/questions/10879180/excluding-a-file-while-merging-in-mercurial

   1 hg update andrey
   2 hg merge --verbose -r NUM(port rev commit)
   3 hg revert --rev NUM no_this_port_dir
   4 hg revert --rev NUM no_this_port2_dir
   5 hg revert --rev NUM no_this_port3_dir
   6 hg commit --close-branch        # закрыть текущий бранч, удалить его из списка бранчей (делать прямо перед мерджем)


Иногда всё же случается налажать, причём не только локально :) Так что для удаления "по быстренькому"

   1 hg strip COMMIT                               # должно быть включено расширение "mq =" в hgrc, действует на локальную версию репозитория

Если вы так же пользуетесь bitbucket и уже успели отправить версию в свой апстрим, то теперь это не смертельно и можно быстренько всё подтереть "see the 'Repository management' link in the 'Admin' section" (Выбрать ропозиторий --> Settings --> Strip changesets)

hgTips (last edited 2015-09-08 14:08:20 by andrey)