This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
switching to Git - equivalent of svnmerge merge... [to merge trunk into MELT]?
- From: Basile Starynkevitch <basile at starynkevitch dot net>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 7 Feb 2011 11:17:50 +0100
- Subject: 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 http://gcc.gnu.org/wiki/GitMirror 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/Makefile.in). 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)?
Regards
--
Basile STARYNKEVITCH http://starynkevitch.net/Basile/
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} ***