I doubt that there is already a multi-purpose tool to do that. However by talking the steps incrementally it should not be too hard.

The key will be to bound each step and get the Pareto 90/10 split.

1. List places to look. (noting those you ignored)

2. Search each place for the characteristic `.git` directory [or file : maybe make this an alternate second step]

3. for each .git repo get a list of their head refs, (and their remotes).

Now you should be able to at least clone all those repositories, and their main branches.

You will be missing:

a) local variation to checked out files.

b) local ignored files, plus compile and deploy files.

c) etc. (determining this part is probably key)


Softly softly catchee monkey

Philip

On 20/10/2018 15:29, Matthias Urlichs wrote:
Hi,
I have multiple locations with git archives (old git server, new git server, old devel machine, test machine, new devel machine, whatever), each with a heap of git archives and/or checked-out code in various states of (dis)order, which I'd like to consolidate onto "new git server" so that I can decommission the others with impunity.

Specifically, the idea is to
- find bare and checked-out trees
- locate correct archive on new server (by SHA1 of earliest commit?), create it if that doesn't exist
- check in edits to temp branch
- push all local branches to new server
- clean up / and rename them, so that a "git fetch" doesn't create ten identical branches

Does a tool that can help with this task exist? life is too short for duplicate work.

--
You received this message because you are subscribed to the Google Groups "Git for human beings" group. To unsubscribe from this group and stop receiving emails from it, send an email to git-users+unsubscr...@googlegroups.com <mailto:git-users+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Git for 
human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to