Thread (3 messages) flat view 3 messages, 3 authors, 2016-06-15

Re: Git repository mesh?

From: Sergio <hidden>
Date: 2016-06-15 22:47:46

Nguyen Thai Ngoc Duy <pclouds <at> gmail.com> writes:
Hi,

I work on a few machines so I have repositories on all of them. One
repository can pull from or push to any other repositories (in case of
push, it pushes on remote branches). I avoid a central repository
because it's quite inconvenient when you just need to push some
changes to a machine, you have to push it to the central repository
then pull from that (and if the central repository is on WAN, double
inconvenient). Maybe this model is just plain wrong, but it'd be fun
to see if Git can work with this model.

The first thing that annoys me is remote repository management.
Everytime I add a new repository to the mesh, I need to update .config
of all repositories. 
If I remember correctly, there was in the past the idea of allowing some limited
shell variable substitution in the config file.

This would allow to have a single config for all the machines with remote
entries. Something like

[remote "host1"]
        url = ssh://host1/path
        fetch = +refs/heads/*:refs/remotes/host1/*
        push = +refs/heads/*:refs/remotes/$hostname/*
[remote "host2"]
        url = ssh://host2/path
        fetch = +refs/heads/*:refs/remotes/host2/*
        push = +refs/heads/*:refs/remotes/$hostname/*
...

In other terms, admitting that all the candidate machines are known at the very
start, you could start a repo on any of the host, placing in the config file all
the possible hosts.  Moreover, not needing to have a different config for each
host may make it easier to manage (propagate by simple scp) or even to version
control.

To the best of my knowledge the idea was not implemented in the end, but I think
that a patch for variable substitution in the config file might still be found
on the ML.

Sergio
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help