Jan Hudec wrote: > Let's consider following scenario: > > (where A$ means working in branch A, B$ means working in branch B and > VCT stands for version control tool of choice) [...] > At this point, I expect the tree to look like this: > A$ ls -R > .: > data/ > data: > hello.txt > A$ cat data/hello.txt > Hello World! [...] > Oh, and there is one more complicated case, that I also require to work > and that works in Bzr, but did not work in Arch: > > ...let's start with the tree at the end of previous example... > > A$ VCT mv data greetings > A$ VCT commit -m "Renamed the data directory to greetings" > B$ echo "Goodbye World!" > data/goodbye.txt > B$ VCT add data/goodbye.txt > B$ VCT commit -m "Added goodbye message." > A$ VCT merge B (slightly corrected example). A$ git branch B A$ git mv data greetings A$ git commit -a -m "Renamed the data directory to greetings" A$ git checkout B B$ echo 'Goodbye World!' > data/goodbye.txt B$ git add data/goodbye.txt B$ git commit -a -m "Added goodbye message." B$ git checkout A A$ git pull . B Trying really trivial in-index merge... fatal: Merge requires file-level merging Nope. Merging HEAD with 4a8a1a7941f214c6173786b583830b4f74a67c1f Merging: 96738390ba0b4de5b234059081701badc1c86693 Renamed the data directory to greetings 4a8a1a7941f214c6173786b583830b4f74a67c1f Added goodbye message. found 1 common ancestor(s): 7cfd8edd06b7cb016856737d8fd98d5d096955b5 Merge branch 'B' into A Merge made by recursive. data/goodbye.txt | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 data/goodbye.txt > And now I expect to have tree looking like this: > > A$ ls -R > .: > greetings/ > greetings: > hello.txt > goodbye.txt So git _fails_ (your expectations) in this case: A$ ls -R .: data greetings ./data: goodbye.txt ./greetings: hello.txt -- Jakub Narebski Poland - 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