git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "J.V." <jvsrvcs@gmail.com>
To: unlisted-recipients:; (no To-header on input)
Cc: "git@vger.kernel.org" <git@vger.kernel.org>
Subject: Re: problem switching branches
Date: Fri, 01 Mar 2013 13:52:33 -0700	[thread overview]
Message-ID: <51311511.9080601@gmail.com> (raw)
In-Reply-To: <20130227051740.GB10976@sigill.intra.peff.net>

On 2/26/2013 10:17 PM, Jeff King wrote:
> On Tue, Feb 26, 2013 at 04:08:55PM -0700, J.V. wrote:
>
>> I was on my master branch, I then checked out a branch (
>> origin/somebranch ), made no updates
>> but did a few git pulls on the branch over about a week; then made a
>> small change to only a single file & committed & pushed.
>>
>> Now am trying to go back to my master branch and get:
>>
>> error: The following untracked working tree files would be
>> overwritten by checkout:
>>          lib/derbyclient.jar
>> Please move or remove them before you can switch branches.
>> Aborting
>>
>>
>> I did not put that jar file there (I edited a single config file),
>> how do I now get back to my master branch?
> Not knowing anything about your project, it's impossible to say for
> sure, but this often happens with something like:
>
>    1. lib/derbyclient.jar used to be generated by your project's build
>       procedure
This jar was put on the master branch last year; It does not exist in 
the branch that I am now on where I get the error message (I am on a 
branch that was created for a previous release).

>
>    2. You did a build of your project, generating the file in your
>       working tree.
This jar is downloaded from the web and put there; we did not generate.

>
>    3. Meanwhile, somebody upstream added and commited lib/derbyclient.jar
>       directly in the repository. This might have been intentional (it
>       used to be a generated file, but now is included as source), or it
>       may have been an accident (mistaken use of `git add`).
It was committed intentionally, last year, but does not exist in the 
branch that I am now on, but it is there.

>
>    4. You try to switch to the master branch with the new commits from
>       (3). Git sees that the copy of the file in your working tree would
>       be overwritten and lost (since it was never committed by you), so
>       aborts.
>
> If you are sure that the file in the working tree does not contain
> anything interesting, you can use "git checkout -f master" to force the
> overwrite.

I will try this.

>
>> I do not want to muck up the branch that I am now on by deleting anything.
>> Any ideas how this happened?
> You won't hurt the branch you are on; you will just lose the contents in
> the untracked working tree file. That's probably fine if it is a
> generated file, as in the scenario I described above. We know that the
> file is not included in the branch you are on (otherwise, it would not
> be listed as untracked). And even if it were, you would only impact the
> branch by committing the changes, not by changing the working tree.
>
>> Obviously someone put derbyclient.jar there, not sure, but it is
>> supposed to be there so do not want to remove as advised.
> It won't be removed; it will be overwritten with the version of the file
> that is on "master". Which is probably what you want; you may want to
> look at `git log master -- lib/derbyclient.jar` to see why it was added.
>
> -Peff

      reply	other threads:[~2013-03-01 20:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-26 23:08 problem switching branches J.V.
2013-02-27  5:17 ` Jeff King
2013-03-01 20:52   ` J.V. [this message]

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

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

  git send-email \
    --in-reply-to=51311511.9080601@gmail.com \
    --to=jvsrvcs@gmail.com \
    --cc=git@vger.kernel.org \
    /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.
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 NNTP newsgroup(s).