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

Re: Submodules with feature branches

From
RDRobert Dailey <rcdailey.lists@gmail.com>
Date
Jun 5, 2014, 18:31 UTC
Message-ID
<CAHd499CBAQHG4rdojb8pdjymUCaZNYSnKb-ksmsLesq73OWTyA@mail.gmail.com>
In-Reply-To
<20140605162333.GR21803@odin.tremily.us>
On Thu, Jun 5, 2014 at 11:23 AM, W. Trevor King <wking@tremily.us> wrote:
Show 11 quoted lines
> 3rd party libraries sound loosely-coupled to me ;).  In one of my more
> mature projects I did a similar thing, and just used relative URLs [1]
> and sibling mirrors/forks [2,3,4].
>
> Cheers,
> Trevor
>
> [1]: https://github.com/wking/pygrader/blob/master/.gitmodules
> [2]: https://github.com/wking/pgp-mime
> [3]: https://github.com/wking/pyassuan
> [4]: https://github.com/wking/jinja2

I guess I'm still confused on how relative URLs help here. Won't the capping commits (A and C in your first email) still be needed? Or is there a way I can modify the local "../third-party.git" submodule repo instead? Can you explain?

Unfortunately, the reason why I feel third party in a submodule creates tight coupling is because:

* You can't make changes to third party libs for your feature branch
without breaking the trunk
* Merge conflicts are insane to resolve and involve two clones if
trunk maintainers modify third party binaries and you do as well.
* Feature branching requires those capping / meta commits to simply
setup your branch to be a feature branch.

Instead of just creating my branch and starting to make commits, I now have to setup my submodule branch first. Also pull requests won't show the changes to the third party libraries unless I do a second pull request for the third party repo.

It just seems like a mess :-(
Previous: W. Trevor KingNext: W. Trevor King
Message 5 of 7 in “Submodules with feature branches”
  1. Robert DaileyJun 5, 2014
  2. W. Trevor KingJun 5, 2014
  3. Robert DaileyJun 5, 2014
  4. W. Trevor KingJun 5, 2014
  5. Robert DaileyJun 5, 2014
  6. W. Trevor KingJun 5, 2014
  7. W. Trevor KingJun 5, 2014

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.