user556433
user556433

Reputation:

How to define an alternative remote url for a git remote repository?

I'm using git-annex to manage my files. Some of my remotes are available using 2 or 3 methods, for example ssh and nfs, but the nfs access is only possible on my local network, of course. Then, git-annex chooses the fastest method to sync or get the files (nfs, if available, ssh instead, using scores to choose). For now, I define a remote per repository and per access method (example: server-by-ssh, server-by-nfs), but that's not a really git-annex way to do the job, as it is not compliant with the numcopies option, which ckecks that the files in the annex are kept with enough replications (with my current method, many remotes are in fact the same folders on a hard drive).

Then, my question applies to both git and git-annex, since the remotes are added in git, not git-annex: I wonder if it is possible to define alternative url for a given remote.

I have tried to use the git remote set-url --add command, but it doesn't really work as I would expect. Indeed, if the nfs url is not reachable, git hangs up and waits.

Any idea?

Upvotes: 10

Views: 3548

Answers (2)

forvaidya
forvaidya

Reputation: 3315

You can add remote as

git remote add new-origin https://example.com/proj.git

Change value of existing remote

git remote set-url new-origin https://example-new.com/proj.git

Upvotes: 5

user556433
user556433

Reputation:

I got the answer from the git-annex forum, where I had asked a question similar. It doesn't matter if there are many remotes pointing to the same repositories, using different accessing methods. Indeed, each repository gets an UUID when initialized by git-annex. Then, this UUID is associated to the remote when added and synced. Consequently, git-annex considers the different remotes that have the same UUID as a single repository.

Upvotes: 6

Related Questions