in my repo, I'm doing this:
$ git status
# On branch master
# Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
nothing added to commit but untracked files present (use "git add" to track)
$ git merge origin/master --ff-only
error: The following untracked working tree files would be overwritten by merge:
Well, I seem to understand the problem, and the solution seems to be simple as well:
renaming the obsolete/ directory is enough.
But why does Git find a problem here at all?
Compare with what Subversion did in an analogous case: When I ran "svn update" and the
update brought new files for which there already was an untracked copy in the working
- started to consider the file as tracked,
- but left the file in the working-copy alone.
As a result, a subsequent "svn status" might
a) no longer show the file at all, if the foreign copy in the working directory
happened to be the same as the one brought by the "svn update", or
b) flag the file as modified, if different from the one that "svn update" would have
created in its place.
So my real question is, why does Git not do something analogous?
(Afaics, update the HEAD, update the Index, but leave the working-copy edition
I searched for this beforehand, and most advice involves either stashing, or with "git
reset --hard" the loss of the untracked files.
Cafu - the open-source Game and Graphics Engine
for multiplayer, cross-platform, real-time 3D Action
Learn more at http://www.cafu.de