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:
> > +           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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to