git/list[1] front-page[2] threads[3] people[4] search[5] about
 

rsync a *bunch* of git repos

From
JJason <git@lakedaemon.net>
Date
Jan 10, 2012, 21:15 UTC
Message-ID
<20120110211548.GD10255@titan.lakedaemon.net>
All,

I have a home directory with a lot of git repos in it. Possibly over a hundred. This is a good thing. :-) However, I'm in the process of changing OS's and need to move my home directory out of my root partition into its own partition.

The nuts and bolts of this aren't difficult, the problem is I don't have a complete understanding of how git stores data. I've heard in the past that it uses a lot of hardlinks and softlinks. I need to make sure, that once I transfer the data, and reboot the machine with the new partition mounted under /home, that all my git repos will be okay.

Going through the git repos one by one would be long and prone to errors, so I'm looking at alternatives. Does this look ok?

## From single user mode, or live cd $ su - # mkfs.ext4 /dev/sda3 # mount /dev/sda3 /mnt/home # rsync --progress -avu /home/ /mnt/home/ # umount /mnt/home # mv /home /home.orig # mkdir /home

### Sanity check? # mount /dev/sda3 /home # rsync -avun /home.orig/ /home/

That'll check that rsync thinks things are ok, but what about git? Is there a git sanity check I could run to detect that three hardlinks still point to the same inode?

One alternative may be to boot to a live CD, delete everything from the root partition except /home, then mv /home/* -> / . Basically, use my current root partition as the new /home partition.

thx,
Jason.
Next: Seth Robertson
Message 1 of 8 in “rsync a *bunch* of git repos”
  1. JasonJan 10, 2012
  2. Seth RobertsonJan 10, 2012
  3. Philip OakleyJan 10, 2012
  4. Junio C HamanoJan 10, 2012
  5. SergioJan 11, 2012
  6. Neal KreitzingerJan 11, 2012
  7. JasonJan 24, 2012
  8. Andreas T.AuerJan 11, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.