[MacPorts] #50708: Base should support fetching git submodules (git submodule update)

MacPorts noreply at macports.org
Sat Feb 27 05:42:20 PST 2016


#50708: Base should support fetching git submodules (git submodule update)
----------------------+--------------------------------
  Reporter:  mojca@…  |      Owner:  macports-tickets@…
      Type:  defect   |     Status:  new
  Priority:  Normal   |  Milestone:
 Component:  base     |    Version:  2.3.4
Resolution:           |   Keywords:
      Port:           |
----------------------+--------------------------------

Comment (by cal@…):

 Whenever you change the version of the base repository, you need to run
 `git submodule update`, preferably with the `--recursive` and `--init`
 flags, just in case there are nested submodules, or submodules have been
 added/removed. So yes, it is expected behavior that you get a mismatch if
 you do

 {{{
 git checkout $branch
 git submodule fetch
 }}}

 because you never did a `submodule update`. Fetch operations never change
 the state of a working copy in git.

 So for a proper implementation in MacPorts, we need:

 1. git clone
 2. git checkout $yourbranch_hash_or_tag
 3. git submodule update --init --recursive

 `git clone --recursive` does not buy as anything, because the state of the
 submodules at our target commit `$yourbranch_hash_or_tag` can be different
 from origin/master, which is what the recursive clone would give us. We
 cannot use `git clone -b $branch_or_tag --recursive` either, because that
 doesn't work for commit hashes.

-- 
Ticket URL: <https://trac.macports.org/ticket/50708#comment:10>
MacPorts <https://www.macports.org/>
Ports system for OS X


More information about the macports-tickets mailing list