Merge branch 'ph/submodule-rebase'
authorJunio C Hamano <gitster@pobox.com>
Sun, 21 Jun 2009 04:51:13 +0000 (21:51 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 21 Jun 2009 04:51:13 +0000 (21:51 -0700)
* ph/submodule-rebase:
  git-submodule: add support for --merge.

Conflicts:
Documentation/git-submodule.txt
git-submodule.sh

1  2 
Documentation/git-submodule.txt
git-submodule.sh

index cd8e861ce4ae33b25928a16aa213933d2a38a155,2289d11f0e350886296bf961a9acb2e9b6f0ffd9..470bd75ad9ca7760bef33c1c4a326c79da92eb2b
@@@ -180,23 -179,25 +181,33 @@@ OPTION
        This option is only valid for the update command.
        Don't fetch new objects from the remote site.
  
 ---rebase::
 -      This option is only valid for the update command.
 -      Rebase the current branch onto the commit recorded in the
 -      superproject. If this option is given, the submodule's HEAD will not
 -      be detached. If a a merge failure prevents this process, you will have
 -      to resolve these failures with linkgit:git-rebase[1].
 -      If the key `submodule.$name.update` is set to `rebase`, this option is
 -      implicit.
 -
+ --merge::
+       This option is only valid for the update command.
+       Merge the commit recorded in the superproject into the current branch
+       of the submodule. If this option is given, the submodule's HEAD will
+       not be detached. If a merge failure prevents this process, you will
+       have to resolve the resulting conflicts within the submodule with the
+       usual conflict resolution tools.
+       If the key `submodule.$name.update` is set to `merge`, this option is
+       implicit.
 +--rebase::
 +      This option is only valid for the update command.
 +      Rebase the current branch onto the commit recorded in the
 +      superproject. If this option is given, the submodule's HEAD will not
 +      be detached. If a a merge failure prevents this process, you will have
 +      to resolve these failures with linkgit:git-rebase[1].
 +      If the key `submodule.$name.update` is set to `rebase`, this option is
 +      implicit.
 +
 +--reference <repository>::
 +      This option is only valid for add and update commands.  These
 +      commands sometimes need to clone a remote repository. In this case,
 +      this option will be passed to the linkgit:git-clone[1] command.
 ++
 +*NOTE*: Do *not* use this option unless you have read the note
 +for linkgit:git-clone[1]'s --reference and --shared options carefully.
 +
  <path>...::
        Paths to submodule(s). When specified this will restrict the command
        to only operate on the submodules found at the specified paths.
index 19a3a840fdc7eed4994741e13306b71a3ffd2ada,3aff37970ad22c2498e1b2755a214e2fdb183f21..f4f35626713bd8ec238262731b0fd2ab59d6f07f
@@@ -347,15 -331,10 +347,19 @@@ cmd_update(
                        shift
                        update="rebase"
                        ;;
 +              --reference)
 +                      case "$2" in '') usage ;; esac
 +                      reference="--reference=$2"
 +                      shift 2
 +                      ;;
 +              --reference=*)
 +                      reference="$1"
 +                      shift
 +                      ;;
+               -m|--merge)
+                       shift
+                       update="merge"
+                       ;;
                --)
                        shift
                        break