Why did "hg push", push my local bookmark to remote?
Jaikiran Pai
jai.forums2013 at gmail.com
Fri Feb 6 07:02:34 UTC 2015
Hi Nathan,
On Friday 06 February 2015 12:05 PM, Nathan Goldbaum wrote:
>
> So it looks like I completely misunderstood the documentation
> (http://mercurial.selenic.com/wiki/Bookmarks) about bookmarks. I
> considered them to be local branches (like in git) *and* the commits
> being local too.
>
>
> So from what I understand then, there's no way to limit the
> visibility of the commit from the remote repo? In other words,
> no way to hide my local changes from the remote repo? (I see
> that you suggest a alias for this and I'll come to that later).
>
> The way I was planning to use bookmarks was something like this:
>
> 1. Have a local workspace which points to 2 different remote
> repos. Remote repo 1 points to "upstream" which is used by the
> entire team and remote rep 2 points to my own private
> repository hosted remotely (example bitbucket).
>
> 2. While working on a major feature, I create a local bookmark
> "foo-bar" and start committing it to it. I don't want any of
> these commits to show up in "upstream" remote repo till I
> explicitly pull them into the default branch and push them to
> that repo. I however, want to have these changes
> available/backed up in my private remote repo, so I keep doing
> an explicit "bookmark push" so that changes belonging to this
> bookmark are visible in my private remote repo.
>
> From what I gather, that probably won't work without being
> extra careful (i.e. a plain hg push can result in the upstream
> repo receiving my commits from the bookmark).
>
>
> You might find the phases feature to be useful, in particular marking
> local work as secret:
>
> http://mercurial.selenic.com/wiki/Phases
>
> Commits in the secret phase are not pushed by default.
That does look interesting/promising. In fact, the "commit" command
allows the -s option (at least in 3.3 version of mercurial) to make it a
secret commit. I can create an alias for "commit" to be "commit -s" and
be a bit more assured that my local commits aren't pushed to remote.
I'll have to try out a few things with this to maybe come up with a
optimal setup where I can perhaps mark all commits as secret *only when
I'm currently on a bookmark* or some such thing. I'll also experiment a
bit on how various other commands and extensions behave with such
commits and my regular dev work flow. Thanks for pointing to this, Nathan.
I however wish that it was much simpler than this and maybe that
proposal in that mercurial-dev thread from 2012 could be revisited to
improve the situation?
-Jaikiran
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20150206/8192189b/attachment-0002.html>
More information about the Mercurial
mailing list