[BUG] 'git mv a/fileA b/fileB' causes 'c/fileC' to be deleted

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I'm new to git, so this may be user error, but I am getting some
strange behaviour using the 'git mv' command. In particular,
attempting to move a file from one directory to another (performing
a rename in the process) causes an unrelated third-party file to
be deleted after commit.

I have flicked through the git man pages and googled for git mv
related issues, but haven't come up with anything.

Here is a transcript. These results are reproducable using the same
files, but I can't seem to reproduce with different files.


## Create initial respository

[mike@simba ~] git version
git version 1.4.2.1

[mike@simba ~] mkdir repos; cd repos

[mike@simba ~/repos] git init-db
defaulting to local storage area

[mike@simba ~/repos] cp -r ~/thesis_work/* .

[mike@simba ~/repos] ls -a
.  ..  .git  metathesis  notes  papers  partA

[mike@simba ~/repos] git add metathesis notes papers partA

[mike@simba ~/repos] git commit -m 'initial import'
Committing initial tree 77d618ebc7c8e655c1d2f0e223e1957b6b5ff247

## Files that we are going to deal with. Note that 'outline.txt' is an
## innocent third party.

[mike@simba ~/repos] sha1sum partA/outline.txt
891256d20531ebc288f1abb5e23f9979597889d3  partA/outline.txt

[mike@simba ~/repos] sha1sum papers/unsorted/Thesis.pdf
52446ade19a067253e8407bf092b52e5efa35247  papers/unsorted/Thesis.pdf

## Move 'Thesis.pdf' to a new name, and commit

[mike@simba ~/repos] git mv papers/unsorted/Thesis.pdf
papers/all-papers/new-name.pdf

[mike@simba ~/repos] git commit -m 'moved a file'

## Have a look at what git just did. In particular, note that 'outline.txt'
## has magically appeared in the log

[mike@simba ~/repos] cg log -f | head
commit aa544a0d58118eb01fa6768e438fa0f521d6095b
tree 07c4971e3946b7c33742515e8915ec6e8abc4e40
parent 0d4292e44aa999707eddf31c4bbcadd711a170be
author mike <mike@xxxxxxxxxx> Sun, 01 Oct 2006 23:39:06 +1000
committer mike <mike@xxxxxxxxxx> Sun, 01 Oct 2006 23:39:06 +1000

   * papers/all-papers/new-name.pdf, partA/outline.txt:

   moved a file

## What changes are in the commit?

[mike@simba ~/repos] git show aa544a0d58118eb01fa6768e438fa0f521d6095b
| head -19
commit aa544a0d58118eb01fa6768e438fa0f521d6095b
Author: mike <mike@xxxxxxxxxx>
Date:   Sun Oct 1 23:39:06 2006 +1000

   moved a file

diff --git a/papers/all-papers/new-name.pdf b/papers/all-papers/new-name.pdf
new file mode 100644
index 0000000..5441543
Binary files /dev/null and b/papers/all-papers/new-name.pdf differ
diff --git a/partA/outline.txt b/partA/outline.txt
deleted file mode 100644
index d3ac280..0000000
--- a/partA/outline.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-
-Thesis Part A
-
[rest of file outline.txt deleted]

Is this just me being an idiot, or could there be a bigger problem
here?

Please CC me in any replies.

Cheers,

Mike
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]