Try hg manipulate
delete branch
merge
fix conflict
on a test repo https://bitbucket.org/dungnv_NAL/
...
Clean, remove all change (not pushed).
hg update -C -r 123
hg revert
hg pull, update
...
hg log -p -r 2581
List change in revision 2581 with its parent.
hg diff -r 111 -r 222
(Not tested yet)
hg checkout/revert back to old revision
hg update -r REV
merge:
hg merge
hg commit --close-branch
https://stackoverflow.com/questions/4957721/mercurial-how-to-discard-all-local-changes-including-to-unversioned-files
sudo hg status --change 8f20236cba39
https://stackoverflow.com/questions/13112280/mercurial-hg-equivalent-of-git-reset-mixed-or-soft
hg status --change REV
sudo hg revert ../../../wp-config.php
sudo hg rollback
sudo hg merge
sudo hg update default
# Abort hg commit
# r = revision number get by `hg log --limit=5`
hg update -C -r 3
# reset commit not pushed #similar as git reset hard ...
hg strip --keep --rev .
# In case same branch forget pull before commit/push => use pull then merge
sudo hg merge (?)
sudo hg pull # no branch name. y ?
sudo hg add ...
sudo hg ci -m "abc" # no file list here. if list file as normal commit use => error
sudo hg push
hg id -i # see current revision (hash)
hg pull -u -R /path/to/repository
hg status --rev x:y
# Diff files only (?) between revision
hg diff -r 111 -r 222 # show content diff
Case study:
hg log -p -r 1133
In many case list changed in commit is quite helpful.
case 2:
guide https://stackoverflow.com/questions/4957721/mercurial-how-to-discard-all-local-changes-including-to-unversioned-files
Update, clean an old repo:
hg pull not work
$ hg pull
pulling from https://user@bitbucket.org/repo/kkk
abort: http authorization required for https://...
hg update -r [Branch_name] -C do the trick :)
Aha, the real reason is that command $hg pull on Windows has issue with stored password (?). I have got this issue with SVN cli.
So we can set passwd in .hg/hgrc (similar .git/config) Or use URL pass
hg pull https://user:passwd@bitbucket.org/company/repos
...
With GitLab you may be got blocked by Key only mode (no password over HTTP). But with Git we can specific key to use, so no password cache problem.
Does HG has config domain like Git (SSH) ? I think it have, so it may be another way to work around.
Color
https://gist.github.com/matagus/431474
HG new branch
https://stackoverflow.com/questions/13549931/create-a-new-branch-at-a-certain-revision
hg clean in case new branch (not pushed branch)
$hg update -C -r 123 may be work because -r is revision of branch/repo. Event new branch (not pushed) has at least a revision.
but $hg update -r [branch_name] -C not work since new branch not pushed yet.
A more clever way is simply clone previous content to restore change. Often we do not want to revert all change, only change that not as expected.
For example, download, copy from another folder, Bitbucket, pull from Filezilla ...
In my case is restore plugin version, some plugin have to paid in order to control (update ...) and only team lead or someone have permission to do this.
delete branch
merge
fix conflict
on a test repo https://bitbucket.org/dungnv_NAL/
...
Clean, remove all change (not pushed).
hg update -C -r 123
hg revert
hg pull, update
...
hg log -p -r 2581
List change in revision 2581 with its parent.
hg diff -r 111 -r 222
(Not tested yet)
hg checkout/revert back to old revision
hg update -r REV
merge:
hg merge
hg commit --close-branch
https://stackoverflow.com/questions/4957721/mercurial-how-to-discard-all-local-changes-including-to-unversioned-files
sudo hg status --change 8f20236cba39
https://stackoverflow.com/questions/13112280/mercurial-hg-equivalent-of-git-reset-mixed-or-soft
hg status --change REV
sudo hg revert ../../../wp-config.php
sudo hg rollback
sudo hg merge
sudo hg update default
# Abort hg commit
# r = revision number get by `hg log --limit=5`
hg update -C -r 3
# reset commit not pushed #similar as git reset hard ...
hg strip --keep --rev .
# In case same branch forget pull before commit/push => use pull then merge
sudo hg merge (?)
sudo hg pull # no branch name. y ?
sudo hg add ...
sudo hg ci -m "abc" # no file list here. if list file as normal commit use => error
sudo hg push
hg id -i # see current revision (hash)
hg pull -u -R /path/to/repository
hg status --rev x:y
# Diff files only (?) between revision
hg diff -r 111 -r 222 # show content diff
Case study:
hg log -p -r 1133
In many case list changed in commit is quite helpful.
case 2:
guide https://stackoverflow.com/questions/4957721/mercurial-how-to-discard-all-local-changes-including-to-unversioned-files
Update, clean an old repo:
hg pull not work
$ hg pull
pulling from https://user@bitbucket.org/repo/kkk
abort: http authorization required for https://...
hg update -r [Branch_name] -C do the trick :)
Aha, the real reason is that command $hg pull on Windows has issue with stored password (?). I have got this issue with SVN cli.
So we can set passwd in .hg/hgrc (similar .git/config) Or use URL pass
hg pull https://user:passwd@bitbucket.org/company/repos
...
With GitLab you may be got blocked by Key only mode (no password over HTTP). But with Git we can specific key to use, so no password cache problem.
Does HG has config domain like Git (SSH) ? I think it have, so it may be another way to work around.
Color
https://gist.github.com/matagus/431474
HG new branch
https://stackoverflow.com/questions/13549931/create-a-new-branch-at-a-certain-revision
hg clean in case new branch (not pushed branch)
$hg update -C -r 123 may be work because -r is revision of branch/repo. Event new branch (not pushed) has at least a revision.
but $hg update -r [branch_name] -C not work since new branch not pushed yet.
A more clever way is simply clone previous content to restore change. Often we do not want to revert all change, only change that not as expected.
For example, download, copy from another folder, Bitbucket, pull from Filezilla ...
In my case is restore plugin version, some plugin have to paid in order to control (update ...) and only team lead or someone have permission to do this.
Comments
Post a Comment