git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Fwd: [PATCH] submodule: Test a shallow branch

From
Stefan Beller <sbeller@google.com>
Date
Oct 12, 2015, 21:59 UTC
Message-ID
<CAGZ79kYHZcByZc5Ju5K6YCcrWDt7Wt2Q0z4YYA4NTezg=358OQ@mail.gmail.com>
In-Reply-To
<1444685784-29598-1-git-send-email-sbeller@google.com>
I forgot to CC you guys.
---------- Forwarded message ----------
From: Stefan Beller <sbeller@google.com>
Date: Mon, Oct 12, 2015 at 2:36 PM
Subject: [PATCH] submodule: Test a shallow branch
To: gitster@pobox.com
Cc: git@vger.kernel.org, carlosjosepita@gmail.com, Stefan Beller
<sbeller@google.com>

Instead of tracking the submodule at the specified branch, using a shallow clone, we get the following error:

fatal: Cannot update paths and switch to branch 'anotherbranch' at the same time. Did you intend to checkout 'origin/anotherbranch' which can not be resolved as commit? Unable to checkout submodule 'submodule'

Noticed-by: Carlos Pita <carlosjosepita@gmail.com>
Signed-off-by: Stefan Beller <sbeller@google.com>
---
 Hi Carlos,
 I can reproduce your issue and have a patch which we can add to the
 testing suite to document this faulty behavior.
 Thanks,
 Stefan
 t/t7400-submodule-basic.sh | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/t/t7400-submodule-basic.sh b/t/t7400-submodule-basic.sh
index 540771c..cee74cb 100755
--- a/t/t7400-submodule-basic.sh
+++ b/t/t7400-submodule-basic.sh
@@ -846,7 +846,8 @@ test_expect_success 'submodule add with an
existing name fails unless forced' '

 test_expect_success 'set up a second submodule' '
        git submodule add ./init2 example2 &&
-       git commit -m "submodule example2 added"
+       git commit -m "submodule example2 added" &&
+       git checkout -b anotherbranch
 '

 test_expect_success 'submodule deinit should remove the whole
submodule section from .git/config' '
@@ -987,6 +988,7 @@ test_expect_success 'submodule with UTF-8 name' '

 test_expect_success 'submodule add clone shallow submodule' '
        mkdir super &&
+       test_when_finished "rm -rf super" &&
        pwd=$(pwd) &&
        (
                cd super &&
@@ -999,5 +1001,21 @@ test_expect_success 'submodule add clone shallow
submodule' '
        )
 '

+test_expect_failure 'submodule add a shallow branch' '
+       mkdir super &&
+       test_when_finished "rm -rf super" &&
+       pwd=$(pwd) &&
+       (
+               cd super &&
+               git init &&
+               git submodule add --depth=1 --branch anotherbranch
file://"$pwd"/example2 submodule &&
+               (
+                       cd submodule &&
+                       test 1 = $(git log --oneline | wc -l)
+               )
+       )
+'
+
+

 test_done
--
2.5.0.268.g453a26a
Previous: Stefan Beller
Message 3 of 3 in “Add submodule specifying depth and branch at the same time won't work”
  1. Carlos PitaOct 12, 2015
  2. submodule: Test a shallow branchStefan Beller, Oct 12, 2015
  3. Fwd: [PATCH] submodule: Test a shallow branchStefan Beller, Oct 12, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.