git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Piotr Krukowiecki <piotr.krukowiecki@gmail.com>
To: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: Corrupted git repository?
Date: Wed, 16 Feb 2011 17:44:03 +0100	[thread overview]
Message-ID: <AANLkTimZgpWUAncLgO=y5CvKsYGdYWTHNUzncjrC5UO6@mail.gmail.com> (raw)
In-Reply-To: <7vk4h1nk3x.fsf@alter.siamese.dyndns.org>

On Tue, Feb 15, 2011 at 9:00 PM, Junio C Hamano <gitster@pobox.com> wrote:
> Piotr Krukowiecki <piotr.krukowiecki.news@gmail.com> writes:
>
>> it looks like my git repository got corrupted today.
>>
>> git status shows no changes,
>> git cherry-pick says "error: Your local changes to the following files
>> would be overwritten by merge:",
>
> with some paths, or without naming any path?

With one path:

$ git status
# On branch master
nothing to commit (working directory clean)

$ git cherry-pick 7d193bb0c1f14908361d9d9d5e30f0c12d5f2c2f
error: Your local changes to the following files would be overwritten by merge:
	<<PATH>>
Please, commit your changes or stash them before you can merge.
Aborting

$ git status
# On branch master
nothing to commit (working directory clean)

7d193bb comes from trunk, master was reset to a branch,
the <<PATH>> is a file that was not changed in the commit,
git clean -n -- <<PATH>> does not show anything

They should not have "assume unchanged" bit because I did
git update-index --no-assume-unchanged --verbose -- <<PATH>>


>> git fsck starts checking objects but hangs on one "Checking tree"
>
> I take it that you are talking about "git fsck -v".  Is it really "hangs",
> or just "takes a long time"?

I was too hasty - fsck finished fine. It just took long time for one object
(a couple of minutes while other checked objects took less than second).

It only printed several dangling objects:

$ git fsck
dangling tree 0ff163a56128d95c5b88c520f68792f6f900bb18
dangling commit deb988eeb2404dd1e57c8894c3cfd93dd316aca3
dangling tree 50323779bd6c0d4eb19664a3945c6c31fe9dadd4
dangling commit 9ed87852fdf6775a3c071faec05388eda5cd5de1
dangling commit a4d09c76a1b58bbf51f2b701407493c5ed9f9b78


> You mentioned that a clone is expensive so I
> am guessing that your repository has some huge trees or objects in
> general.

That's one reason, the other is that I'm using git-svn ...


> The details you gave in your message are a bit sketchy to give you an
> exact diagnosis, but if "cherry-pick" stops with the above message and
> tells you the names of files that are not tracked in your current branch,

"git log -- <<PATH>>" shows two commits for this file on this branch and
on trunk, and "git status" does not list the file as untracked.


> I don't see there is anything unusual going on.  You have these files with
> random contents that git does not know about, and git is refusing to
> lose their contents by overwriting them during the cherry-pick.
>
> After making sure that they are indeed untracked paths, if you think you
> can remove them (or move them away), first do so and retry cherry-pick,
> and then everything should be Ok.

I believe the file is tracked and is not modified?

I have deleted the whole top-level directory in which the file was and run:

$ git status | grep  <<PATH>>
#	deleted:    <<PATH>>

$ git checkout -- <<top dir>>

$ git status
# On branch master
nothing to commit (working directory clean)

$ git cherry-pick 7d193bb0c1f14908361d9d9d5e30f0c12d5f2c2f
error: Your local changes to the following files would be overwritten by merge:
	<<PATH>>
Please, commit your changes or stash them before you can merge.
Aborting


-- 
Piotrek

  reply	other threads:[~2011-02-16 16:44 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-15 14:57 Corrupted git repository? Piotr Krukowiecki
2011-02-15 20:00 ` Junio C Hamano
2011-02-16 16:44   ` Piotr Krukowiecki [this message]
2011-02-16 18:54     ` Johannes Sixt
2011-02-16 19:21       ` Piotr Krukowiecki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='AANLkTimZgpWUAncLgO=y5CvKsYGdYWTHNUzncjrC5UO6@mail.gmail.com' \
    --to=piotr.krukowiecki@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).