This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

switching to Git - equivalent of svnmerge merge... [to merge trunk into MELT]?

Hello All,

I am switching to GIT for my GCC work (mostly the MELT branch, sometimes
submitting patches to trunk). A big thanks to Dodji Seketeli for his very
kind help. If I understand correctly, I am using the GCC git service.

But I have some issues. The GCC MELT branch has very localised changes
(almost all of them are in some files named *melt*). The difference between
MELT and trunk -on files existing in both- is very small usually (usually, a
few lines in toplevel.c). Most of the files are exactly the same.

Now, I am trying for the first time to merge trunk into MELT. In the old SVN
times (last week!), I just did svnmerge merge and most of the time I had no
conflict (because by design MELT is very close to the trunk) at all.

Now, I followed and did
cd /usr/src/Lang/basile-melt-gcc
git merge --squash master

and now I am getting a lot of conflicts that I do not understand. A typical
one is:

Auto-merging gcc/ada/gcc-interface/gigi.h
CONFLICT (add/add): Merge conflict in gcc/ada/gcc-interface/gigi.h

% git status gcc/ada/gcc-interface/gigi.h
# On branch melt-branch
# Unmerged paths:
#   (use "git reset HEAD <file>..." to unstage)
#   (use "git add/rm <file>..." as appropriate to mark resolution)
#	both added:         gcc/ada/gcc-interface/gigi.h
no changes added to commit (use "git add" and/or "git commit -a")

I never in my life touched an y ada related file (neither in trunk, not in
the MELT branch).

And if I ask what is happenning; % git diff  gcc/ada/gcc-interface/gigi.h
diff --cc gcc/ada/gcc-interface/gigi.h
index 67a7a47,e45cf13..0000000
--- a/gcc/ada/gcc-interface/gigi.h
+++ b/gcc/ada/gcc-interface/gigi.h
@@@ -6,7 -6,7 +6,11 @@@
   *                                                                          *
   *                              C Header File                               *
   *                                                                          *
++<<<<<<< HEAD
 + *          Copyright (C) 1992-2010, Free Software Foundation, Inc.         *
+  *          Copyright (C) 1992-2011, Free Software Foundation, Inc.         *
++>>>>>>> master
   *                                                                          *
   * GNAT is free software;  you can  redistribute it  and/or modify it under *
   * terms of the  GNU General Public License as published  by the Free Soft- *
@@@ -861,10 -861,9 +865,16 @@@ extern tree build_allocator (tree type
                               Entity_Id gnat_proc, Entity_Id gnat_pool,
                               Node_Id gnat_node, bool);
++<<<<<<< HEAD
 +/* Fill in a VMS descriptor for EXPR and return a constructor for it.
 +   GNAT_FORMAL is how we find the descriptor record. GNAT_ACTUAL is how
 +   we derive the source location on a C_E */
 +extern tree fill_vms_descriptor (tree expr, Entity_Id gnat_formal,
+ /* Fill in a VMS descriptor of GNU_TYPE for GNU_EXPR and return the result.
+    GNAT_ACTUAL is the actual parameter for which the descriptor is built.  */
+ extern tree fill_vms_descriptor (tree gnu_type, tree gnu_expr,
++>>>>>>> master
                                   Node_Id gnat_actual);
  /* Indicate that we need to take the address of T and that it therefore

I was expecting the git merge to copy all the changes from trunk into the
MELT branch. I don't feel the above as a "conflict" (and in the svnmerge
merge times, it was not one). I just want git to bring all the changes from
trunk into GCC MELT. And I expect conflicts -if any- only on the very files
that are common (ie exisiting in both), but different in the MELT branch and
in the trunk (like perhaops gcc/ I dont understand why there is
a conflict on an ada related file I never touched in my life.

What did I do wrong? What is the good way to merge the trunk back into my
MELT branch using git? How can I ask git to ignore such "conflicts" (as
svnmerge merge did)?

email: basile<at>starynkevitch<dot>net mobile: +33 6 8501 2359
8, rue de la Faiencerie, 92340 Bourg La Reine, France
*** opinions {are only mines, sont seulement les miennes} ***

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]