From 288c26290d953d6cea1d7ee57f55a4a988e31098 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Simo=20F=C3=A4lt?= <simo.falt@digia.com>
Date: Tue, 2 Apr 2013 08:53:32 +0300
Subject: [PATCH] Getting prepared for relative submodule specs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

.gitmodules file may have relative submodule paths instead of full
url.

Change-Id: Ib4f00cb2a75a00ffdb7465b669354e0bf7bab1f9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Reviewed-by: Janne Anttila <janne.anttila@digia.com>
---
 scripts/qt/qt_update_submodules.pl | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/scripts/qt/qt_update_submodules.pl b/scripts/qt/qt_update_submodules.pl
index c72f4e13..6e9ed4cc 100755
--- a/scripts/qt/qt_update_submodules.pl
+++ b/scripts/qt/qt_update_submodules.pl
@@ -266,6 +266,12 @@ sub update_submodule
         confess "Command `@cmd' did not output a giturl";
     }
 
+    # Let's be prepared for relative paths in .gitmodules
+    if ($giturl eq "../$submodule.git") {
+        $giturl = trim $self->exe( qw(git config --file), ".git/config", "remote.origin.url" );
+        $giturl =~ s,[^/]+$,$submodule.git,;
+    }
+
     chdir catfile($base_dir, $submodule);
     $self->exe( qw(git fetch --verbose), $giturl, "+$ref:refs/heads/updated_submodule" );
 
-- 
GitLab