Re: Re: [PATCH] submodule recursion in git-archive
From: Heiko Voigt <hidden>
Date: 2016-06-15 22:59:20
Hi, I like where this is going. On Tue, Nov 26, 2013 at 04:17:43PM +0100, René Scharfe wrote:
Am 26.11.2013 01:04, schrieb Nick Townsend:quoted
+ strbuf_addstr(&dotgit, work_tree); + strbuf_addch(&dotgit, '/'); + if (args->treepath) { + strbuf_addstr(&dotgit, args->treepath); + strbuf_addch(&dotgit, '/'); + } + strbuf_add(&dotgit, path_without_prefix,strlen(path_without_prefix)-1); + if (add_submodule_odb(dotgit.buf)) + die("Can't add submodule: %s", dotgit.buf);Hmm, I wonder if we can traverse the tree and load all submodule object databases before traversing it again to actually write file contents. That would spare the user from getting half of an archive together with that error message.
I am not sure whether we should die here. What about submodules that have not been initialized and or cloned? I think that is a quite regular use case for example for libraries that not everyone needs or big media submodules which only the design team uses. How about skipping them (maybe issuing a warning) by returning 0 here and proceeding? Cheers Heiko