Is it possible to synchronize local/remote repositories without any interaction (i.e. by script)?

Chris Green cl at isbd.net
Thu Aug 16 09:25:08 UTC 2018


On Thu, Aug 16, 2018 at 09:22:48AM +1000, Cameron Simpson wrote:
> Chris,
> 
> I'm a little late here, but I'm in a similar situation to you. Here's what I
> do.
> 
> 1: I've got a personal repo at bitbucket:
> 
>  https://bitbucket.org/cameron_simpson/css/overview
> 
> which I push to with:
> 
>  hg push --new-branch -r tip ssh://hg@bitbucket.org/cameron_simpson/css
> 
> which is normally silent (well, noninteractive - it reports on how many
> changesets got pushed).
> 
> 2: I live on my laptop, but I've got working repos on a couple of home
> machines.  Since the .hg/hgrc in the local repo has this:
> 
>  [paths]
>  default = ssh://hg@bitbucket.org/cameron_simpson/css
>  home = ssh://home/hg/css
> 
> I can just "hg push home" to update the home machine.
> 
> Now, you could stick any of these in an hg commit hook, and even kick them
> off in the background with output redirected from there (to not stall your
> commits and not produce annoying noise) because if you're offline or there's
> some other failure/conflict you can always address it later.
> 
> You do want to keep in your head the difference between a repo and a
> checkout.  In my mind, the repo is the state (contained in the .hg subdir)
> and the checkout is your working set of files. The "hg push" above only
> updates the repo. The checked out files at the far end are _not_ updated.
> 
> For Bitbucket that is normal and irrelevant - it _only_ manages/provides a
> repo. For the home machine it means the work tree has all the new state in
> the repo but that the working files are not up to date.
> 
> Next time I stand in the home machine checkout I need to go "hg up" to bring
> the working files up to date. You could automate or not. You _do_ want to do
> it before doing new work as otherwise your next commit there will make a new
> branch.
> 
Thanks for the excellent explanation and clarification Cameron, that
is really useful.

-- 
Chris Green



More information about the Mercurial mailing list