Warning updating the currently checked out branch prices of online dating services

You need to go into each submodule and check out a branch to work on.

warning updating the currently checked out branch-20

It explains it as “merge following commits not found”, which is confusing but we’ll explain why that is in a bit.

To solve the problem, you need to figure out what state the submodule should be in.

You can overwrite this value locally with $ git diff --cached Db Connector diff --git a/Db Connector b/Db Connector new file mode 160000 index 0000000..c3f01dc --- /dev/null b/Db Connector @@ -0,0 1 @@ Subproject commit c3f01dc8862123d317dd46284b05b6892c7b29bc is a subdirectory in your working directory, Git sees it as a submodule and doesn’t track its contents when you’re not in that directory. $ cd Main Project $ ls -la total 16 drwxr-xr-x 9 schacon staff 306 Sep 17 . drwxr-xr-x 13 schacon staff 442 Sep 17 -rw-r--r-- 1 schacon staff 92 Sep 17 .gitmodules drwxr-xr-x 2 schacon staff 68 Sep 17 Db Connector -rw-r--r-- 1 schacon staff 756 Sep 17 Makefile drwxr-xr-x 3 schacon staff 102 Sep 17 includes drwxr-xr-x 4 schacon staff 136 Sep 17 scripts drwxr-xr-x 4 schacon staff 136 Sep 17 src $ cd Db Connector/ $ ls $$ git submodule init Submodule 'Db Connector' (https://github.com/chaconinc/Db Connector) registered for path 'Db Connector' $ git submodule update Cloning into 'Db Connector'... Otherwise you would probably instead be using a simpler dependency management system (such as Maven or Rubygems).

Instead, Git sees it as a particular commit from that repository. remote: Total 14 (delta 1), reused 13 (delta 0) Unpacking objects: 100% (14/14), done. command to fetch changes from the submodule repositories, Git would get the changes and update the files in the subdirectory but will leave the sub-repository in what’s called a “detached HEAD” state.

$ git diff --cached --submodule diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..71fc376 --- /dev/null b/.gitmodules @@ -0,0 1,3 @@ [submodule "Db Connector"] path = Db Connector url = https://github.com/chaconinc/Db Connector Submodule Db Connector 0000000...c3f01dc (new submodule)$ git clone https://github.com/chaconinc/Main Project Cloning into 'Main Project'... This means that there is no local working branch (like “master”, for example) tracking changes.

With no working branch tracking changes, that means even if you commit changes to the submodule, those changes will quite possibly be lost the next time you run In order to set up your submodule to be easier to go in and hack on, you need to do two things.

$ git submodule add https://github.com/chaconinc/Db Connector Cloning into 'Db Connector'... Since the URL in the .gitmodules file is what other people will first try to clone/fetch from, make sure to use a URL that they can access if possible. Submodule path 'Db Connector': checked out 'c3f01dc8862123d317dd46284b05b6892c7b29bc'$ git clone --recurse-submodules https://github.com/chaconinc/Main Project Cloning into 'Main Project'... Db Connector.branch stable $ git submodule update --remote remote: Counting objects: 4, done. remote: Total 4 (delta 2), reused 4 (delta 2) Unpacking objects: 100% (4/4), done.

For example, if you use a different URL to push to than others would to pull from, use the one that others have access to. remote: Total 11 (delta 0), reused 11 (delta 0) Unpacking objects: 100% (11/11), done. From https://github.com/chaconinc/Db Connector 27cf5d3..c87d55d stable -$ git diff diff --git a/.gitmodules b/.gitmodules index 6fc0b3d..fd1cc29 100644 --- a/.gitmodules b/.gitmodules @@ -1,3 1,4 @@ [submodule "Db Connector"] path = Db Connector url = https://github.com/chaconinc/Db Connector branch = stable Submodule Db Connector c3f01dc..c87d55d: Date: Wed Sep 17 2014 0200 updating Db Connector for bug fixes diff --git a/.gitmodules b/.gitmodules index 6fc0b3d..fd1cc29 100644 --- a/.gitmodules b/.gitmodules @@ -1,3 1,4 @@ [submodule "Db Connector"] path = Db Connector url = https://github.com/chaconinc/Db Connector branch = stable Submodule Db Connector c3f01dc..c87d55d: It’s quite likely that if you’re using submodules, you’re doing so because you really want to work on the code in the submodule at the same time as you’re working on the code in the main project (or across several submodules).

$ cd Db Connector $ git rev-parse HEAD eb41d764bccf88be77aced643c13a7fa86714135 $ git branch try-merge c771610 (Db Connector) $ git merge try-merge Auto-merging src/main.c CONFLICT (content): Merge conflict in src/main.c Recorded preimage for 'src/main.c' Automatic merge failed; fix conflicts and then commit the result.$ vim src/main.c (1) $ git add src/main.c $ git commit -am 'merged our changes' Recorded resolution for 'src/main.c'. (2) $ git diff (3) diff --cc Db Connector index eb41d76,c771610..0000000 --- a/Db Connector b/Db Connector @@@ -1,1 -1,1 1,1 @@@ - Subproject commit eb41d764bccf88be77aced643c13a7fa86714135 -Subproject commit c77161012afbbe1f58b5053316ead08f4b7e6d1d Subproject commit 9fd905e5d7f45a0d4cbc43d1ee550f16a30e825a $ git add Db Connector (4) $ git commit -m "Merge Tom's Changes" (5) [master 10d2c60] Merge Tom's Changes Interestingly, there is another case that Git handles.

If a merge commit exists in the submodule directory that contains both commits in its history, Git will suggest it to you as a possible solution.

From https://github.com/chaconinc/Db Connector c87d55d..92c7337 stable -$ git submodule update --remote --rebase First, rewinding head to replay your work on top of it...

Tags: , ,