Merge branch 'en/merge-recursive'
authorJunio C Hamano <gitster@pobox.com>
Thu, 28 Apr 2011 21:11:35 +0000 (14:11 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 28 Apr 2011 21:11:35 +0000 (14:11 -0700)
* en/merge-recursive:
  merge-recursive: tweak magic band-aid
  merge-recursive: When we detect we can skip an update, actually skip it
  t6022: New test checking for unnecessary updates of files in D/F conflicts
  t6022: New test checking for unnecessary updates of renamed+modified files

1  2 
merge-recursive.c
t/t6022-merge-rename.sh

index af131508ec7ffa3ac7b1b1b1cadfcda0040becf2,59482ffc87f7ae0b2004e3f1bbb467d199a3bcde..7c126735535f390b54c02920f1df58acaf34532e
@@@ -356,8 -367,16 +357,15 @@@ static void make_room_for_directories_o
         */
        const char *last_file = NULL;
        int last_len = 0;
 -      struct stage_data *last_e;
        int i;
  
+       /*
+        * Do not do any of this crazyness during the recursive; we don't
+        * even write anything to the working tree!
+        */
+       if (o->call_depth)
+               return;
        for (i = 0; i < entries->nr; i++) {
                const char *path = entries->items[i].string;
                int len = strlen(path);
Simple merge