mailing list mirror (one of many)
 help / Atom feed
From: Stefan Beller <>
To: Thadeus Fleming <>
Cc: "" <>
Subject: Re: git submodule add fails when using both --branch and --depth
Date: Mon, 2 Oct 2017 12:55:16 -0700
Message-ID: <> (raw)
In-Reply-To: <>

On Sat, Sep 30, 2017 at 10:20 AM, Thadeus Fleming
<> wrote:
> I'm running git 2.14.2 on Ubuntu 16.04.
> Compare the behavior of
>> git clone --branch pu --depth 1 git-pu
> which clones only the latest commit of the pu branch and
>> mkdir tmp && cd tmp && git init
>> git submodule add --branch pu --depth 1 \
>   git-pu
> which gives the error
> fatal: 'origin/pu' is not a commit and a branch 'pu' cannot be created
> from it
> Unable to checkout submodule 'git-pu'
> Investigating further, there is indeed only one commit in the local repo:
>> cd git-pu
>> git log --oneline | wc -l
> 1
> But that commit is the head of master.
>> git branch -a
> * master                                 remotes/origin/master
>   remotes/origin/HEAD -> origin/master
> This appears to be because git-submodule--helper does not accept a
> --branch option. Using the --depth N option causes it to only clone N
> commits from the default branch, which generally do not include the
> desired branch. Thus, the next step,
> git checkout -f -q -B "$branch" "origin/$branch"
> fails, and provides the rather confusing error message above.
> I'd suggest that git-submodule--helper learn a --branch option
> consistent with git clone, and if that is impossible, that
> git submodule add rejects the simultaneous use of both the --branch and
> --depth options.

Adding the branch field to the submodule helper is a great idea.

> --tjf

  reply index

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-30 17:20 Thadeus Fleming
2017-10-02 19:55 ` Stefan Beller [this message]
2017-10-02 22:08 ` Jonathan Nieder

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

  List information:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='' \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link mailing list mirror (one of many)

Archives are clonable:
	git clone --mirror
	git clone --mirror http://ou63pmih66umazou.onion/git
	git clone --mirror http://czquwvybam4bgbro.onion/git
	git clone --mirror http://hjrcffqmbrq6wope.onion/git

Newsgroups are available over NNTP:

 note: .onion URLs require Tor:
       or Tor2web:

AGPL code for this site: git clone public-inbox