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

Re: git repository modified after migration

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Jan 11, 2016, 15:04 UTC
Message-ID
<5693C48A.7060801@drmicha.warpmail.net>
In-Reply-To
<CAFwKRnQ_EZ73DBfrb0HNks3dt3=YJbLRoHvB0mfsD9FA-ey6hA@mail.gmail.com>
Yang Yu venit, vidit, dixit 25.12.2015 21:49:
Show 33 quoted lines
> I migrated a 11G git repository converted from svn on a host with
> Debian 8.2, reiserfs, git 2.1.4 to a host with Ubuntu 12.04.5 LTS,
> xfs, git 2.6.4. After the migration, `git status` showing a good
> amount of files modified.
> 
> I did the transfer with
> 1) `rsync -azP`, after noticing the modified files I ran `rsync -avH
> --delete` but it did not correct the problem
> 2) tar zcf, then on the destination download the tar.gz (served by
> nginx) with wget
> 
> Both had the same result. But the original repository was still clean.
> 
> I did some comparison between "modified" and original files
> a) same hash (md5sum, shasum)
> b) same permission (-rw-r--r-- 1 )
> c) same encoding and line termination (UTF-8 Unicode (with BOM) text,
> with CRLF line terminators)
> d) no git attributes for either
> 
> 
> On the destination host, I ran `git checkout` on each of those
> modified files. After one pass I got less modified files. Repeating
> `git checkout` on remaining files for a few more times, finally I got
> a clean repository on the destination host.
> 
> What could have caused git to consider those files as modified? And
> why multiple `git checkout` again the same file was necessary?
> 
> Thanks.
> 
> 
> Yang

This happens whenever the "stat" information changes, e.g. due to changed device numbering and such. "git reset --hard" would have been the quickiest way to reset the stat cache/index - after git diff, of course ;)

Michael
Previous: Yang YuNext: Yang Yu
Message 2 of 6 in “git repository modified after migration”
  1. Yang YuDec 25, 2015
  2. Michael J GruberJan 11, 2016
  3. Yang YuJan 11, 2016
  4. Junio C HamanoJan 11, 2016
  5. Michael J GruberJan 12, 2016
  6. Junio C HamanoJan 12, 2016

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.