Subject: Re: What does this mean

From: Michał Kiedrowicz <[email-masked]>
Date: Tue, 21 Jul 2009 19:35:55 +0200

Bill Cochran <[email-masked]> wrote:

> Thanks for the quick answer.  I can fix this problem by having a
> clone of the repository on the same machine.  I am just curious if
> the behavior I am seeing is correct.
> 
> > runge:~/repository/papers wkcochra$ git checkout
> > D       medial axis/medial axis.tcp
> 
> 'git checkout' command switches to another branch (actually, because
> > nothing was specified on command line, it doesn't switch at all) and
> > prints a summary of modified files.
> >
> 
> On machine A, I created a directory and file.  This was committed to
> `master.'  The repository was pushed to machine B.  What you are
> looking at is the subsequent checkout on machine B.  Said directory
> and file are medial axis/medial axis.tcp.  The checkout did not
> create the directory nor the file.  Rather, I get the result above.
> 
> git show informs me I am at the correct commit.  git checkout "medial
> axis" fails:
> runge:~/repository/papers wkcochra$ git checkout "medial axis"
> error: pathspec 'medial axis' did not match any file(s) known to git.
> 
> Is this the correct behavior of checkout?
> 
> 
> > For description of 'D', look for '--name-status' option in man
> > git-diff. Maybe this what you are looking for.
> >
> 
> So, this file is deleted, according to the man page of git-diff.
> Interesting that it was never created on machine B.
> 
> 

I think I managed to reproduce your problem. Here is what I did:

> $ git push ../b master
> Counting objects: 4, done.
> Writing objects: 100% (4/4), 283 bytes, done.
> Total 4 (delta 0), reused 0 (delta 0)
> Unpacking objects: 100% (4/4), done.
> warning: updating the current branch
> warning: Updating the currently checked out branch may cause confusion,
> warning: as the index and work tree do not reflect changes that are in HEAD.
> warning: As a result, you may see the changes you just pushed into it
> warning: reverted when you run 'git diff' over there, and you may want
> warning: to run 'git reset --hard' before starting to work to recover.

This seems to be your case. You see a file as deleted, because in another repo
you have created.

> warning: 
> warning: You can set 'receive.denyCurrentBranch' configuration variable to
> warning: 'refuse' in the remote repository to forbid pushing into its
> warning: current branch.
> warning: To allow pushing into the current branch, you can set it to 'ignore';
> warning: but this is not recommended unless you arranged to update its work
> warning: tree to match what you pushed in some other way.
> warning: 
> warning: To squelch this message, you can set it to 'warn'.
> warning: 
> warning: Note that the default will change in a future version of git
> warning: to refuse updating the current branch unless you have the
> warning: configuration variable set to either 'ignore' or 'warn'.
> To ../b
>  * [new branch]      master -> master
> 
> $ cd ../b/
> $ git checkout 
> D	medial axis/medial axis.tcp