[BUG] 'git mv a/fileA b/fileB' causes 'c/fileC' to be deleted
- From
- Michael Cassar <m.e.cassar@gmail.com>
- Date
- Oct 1, 2006, 14:21 UTC
- Message-ID
- <750170aa0610010721p66899ba5pcc7efa13be4cd10a@mail.gmail.com>
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@simba.home> Sun, 01 Oct 2006 23:39:06 +1000 committer mike <mike@simba.home> 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@simba.home> 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