From: Luke Diamand <email@example.com> To: Git Users <firstname.lastname@example.org> Cc: Jens Lehmann <Jens.Lehmann@web.de> Subject: Re: How to checkout a revision that contains a deleted submodule? Date: Sun, 20 Sep 2020 10:44:05 +0100 [thread overview] Message-ID: <CAE5ih79puooMA1v8jOkqKaO9xPmYqtkT9kXHq2L6YODJJ8oGEQ@mail.gmail.com> (raw) In-Reply-To: <CAE5ih78zCR0ZdHAjoxguUb3Y6KFkZcoxJjhS7rkbtZpremail@example.com> On Sat, 19 Sep 2020 at 10:03, Luke Diamand <firstname.lastname@example.org> wrote: > > Maybe this is a FAQ, but I couldn't figure it out! > > I have a repo which has a couple of submodules. > > At some point in the past I deleted one of those submodules: > > git rm sub2 > git add -u > git commit -m 'Deleting sub2' > git push origin > ... > ... more commits and pushes... > > Now I go and clone the head revision. This gives me a clone which has > nothing present in .git/modules/sub2. > login on some other machine > git clone email@example.com:thing > cd thing > ls .git/modules > <sub2 not present> > > So when I go and checkout an old revision where sub2 is still around I get: > git checkout oldrevision > fatal: not a git repository: sub2/../.git/modules/sub2 > > What am I doing wrong? > What set of commands do I need to use to ensure that this will always > do the right thing? > > Thanks > Luke Replying to myself, adding Jens who added the section below. This is a known bug: https://git-scm.com/docs/git-rm > BUGS > ---- > Each time a superproject update removes a populated submodule > (e.g. when switching between commits before and after the removal) a > stale submodule checkout will remain in the old location. Removing the > old directory is only safe when it uses a gitfile, as otherwise the > history of the submodule will be deleted too. This step will be > obsolete when recursive submodule update has been implemented. I'm wondering what "recursive submodule update" is. If I do: git submodule update --checkout --force --remote --recursive then those stale repos are still left lying around. I guess that's a different kind of recursive? Thanks Luke
next prev parent reply other threads:[~2020-09-20 9:45 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-19 9:03 Luke Diamand 2020-09-20 9:44 ` Luke Diamand [this message] 2020-09-20 18:02 ` Kaartic Sivaraam 2020-09-20 20:52 ` Luke Diamand 2020-09-21 23:14 ` Philippe Blain 2020-09-22 4:32 ` Luke Diamand 2020-09-21 22:46 ` Philippe Blain
Reply instructions: You may reply publicly 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: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAE5ih79puooMA1v8jOkqKaO9xPmYqtkT9kXHq2L6YODJJ8oGEQ@mail.gmail.com \ --firstname.lastname@example.org \ --cc=Jens.Lehmann@web.de \ --email@example.com \ --subject='Re: How to checkout a revision that contains a deleted submodule?' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).