Re: Merging submodules
From: H.Merijn Brand <hidden>
Date: 2016-06-15 22:45:05
On Thu, 31 Jul 2008 15:06:26 +0200, Petr Baudis [off-list ref] wrote:
On Thu, Jul 31, 2008 at 02:39:55PM +0200, H.Merijn Brand wrote:quoted
On Thu, 31 Jul 2008 09:21:04 +0200, "H.Merijn Brand" [off-list ref] wrote:quoted
I will now be playing with the results a bit. I have attached the script, in case you might want to use it in documentation or examples. For now, all the mods are hardcoded. No arguments and so on. Again, Thanks!There is a slight problem with this merging approach. The path names are as they are/were in the submodules. In module_a, foo.pl was without a leading module_a/ path, and now after integration, it still is. Is it possible to rethink this whole process that integrates/merges the several git repo's in subfolders into the current folder, as-if they would have been in this folder in the first place?I would suggest re-reading Santi's suggestions:quoted
You have, basically, two possibilities: 1) Add the module_# as submodules: http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html http://git.or.cz/gitwiki/GitSubmoduleTutorial 2) Add the submodules as subtrees (as gitk and git-gui in git.git) http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.htmlI think the latter is specifically what you want.
I got stuck in that process, as the new repo thinks all the files from
the sub-folders belong to the top-folder: After this process, there are
a lot of files from subfolder include in the "new" top-level folder.
--8<--- git-join.sh
#!/bin/sh
export MODS
MODS="include fnc"
MODS="$MODS i00f000 i99f000"
MODS="$MODS l00m000 l01f000 l02f000 l03f000 l06f000 l90z000"
MODS="$MODS rpt"
MODS="$MODS leerpl mutbev prtabel tabellen zoomen"
echo "Creating merge environment"
rm -rf new
mkdir new
cd new
echo "Recovering original repo's"
tbz -s -x ../lep4gl-git
echo "Initializing new repo"
git init
for mod in $MODS ; do
echo "Merging $mod ..."
git remote add -f B$mod $mod
git merge -s ours --no-commit B$mod/master
git read-tree --prefix=$mod/ -u B$mod/master
git commit -m "Merge $mod as our subdirectory"
git pull -s subtree B$mod master
done
echo Done
-->8---
--
H.Merijn Brand Amsterdam Perl Mongers http://amsterdam.pm.org/
using & porting perl 5.6.2, 5.8.x, 5.10.x, 5.11.x on HP-UX 10.20, 11.00,
11.11, 11.23, and 11.31, SuSE 10.1, 10.2, and 10.3, AIX 5.2, and Cygwin.
http://mirrors.develooper.com/hpux/ http://www.test-smoke.org/
http://qa.perl.org http://www.goldmark.org/jeff/stupid-disclaimers/