]> Tony Duckles's Git Repositories (git.nynim.org) - dotfiles.git/commit
bin/git-subup: Init child submodules, optionally pull
authorTony Duckles <tony@nynim.org>
Thu, 24 Jan 2013 01:17:09 +0000 (19:17 -0600)
committerTony Duckles <tony@nynim.org>
Thu, 24 Jan 2013 01:45:12 +0000 (19:45 -0600)
commit3d6208f5b5b2877f277fc80419020427ab03b978
tree0ec478801f879ad2af1cef8bbd1399573d420f5a
parent5a1b7aeb8fc757b77c03c2d860c6d09e49b647ed
bin/git-subup: Init child submodules, optionally pull

Refactor the 'git-subup' (submodule update) script to only
conditionally pull changes from each submodule's origin remote.

"git subup" will just ensure all submodules are checked-out.
"git subup pull" will additionally do a pull on each submodule to
look for updates.

* Use '--recursive' flag for update/sync/foreach subcommands to
  update any child submodules of first-level submodules.
* Conditionalize 'git pull' handling only if $1 == "pull".
* Don't assume that "remotes/origin/HEAD" is a valid ref; not all
  repo's will have an "origin/HEAD" ref. Instead, just force-update
  local "master" branch based on the current checked-out rev, so
  that when 'git submodule update --checkout' creates a detached
  HEAD we'll update our local 'master' branch to jive with HEAD so
  that any later 'git pull' will show all new revisions compared to
  the previous HEAD.
bin/git-subup