That’s fine. I can always trigger a retest once the libavr32 changes are in.
ah, the joy of C. I suppose we could try and get travis to use -Werror, but that seems to be a bit of overkill.
.gitmodules is only used for git clone --recursive and git submodule init, from then on it only cares about hashes matching up, not where they come from. The trick to getting around your problem is to add the submodule pointing at monome/libavr32, but then change the remote of the submodule to your fork.
e.g. (untested)
git submodule add https://github.com/monome/libavbr32
cd libavr32
git remote set-url origin git@github.com:catfact/libavr32.git
git remote add upstream git@github.com:monome/libavr32.git
git pull
Fundamentally, git really doesn’t care where stuff comes from, only that commit hashes match up. So if someone clones your repo, they will have to make sure that their libavr32 submodule has the required commit available, either by manually fetching it from a remote, or waiting for those changes to be merged in.
One really helpful snippet for everyones ~/.gitconfig is
[url "git@github.com:"]
;; e.g git remote add gh:samdoshi/my_repo
;;; git clone gh:samdoshi/my_repo
insteadOf = gh:
Thus my workflow for testing your changes is:
cd <path>/teletype
git remote add catfact gh:catfact/teletype
git fetch catfact
cd libavr32
git remote add catfact gh:catfact/libavr32
git fetch catfact
cd ..
git checkout catfact/aleph-libavr32
# ..... oops?
Oops, looks like libavr32 commit 885a64 hasn’t been pushed to GitHub yet…
https://github.com/catfact/libavr32/tree/885a64afe42cc89bc4f59d72ffd10d8f97dd72ce
Another handy thing for your ~/.gitconfig
[status]
submoduleSummary = true
Gives a git status of:
HEAD detached at catfact/aleph-libavr32
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: libavr32 (new commits)
Submodules changed but not updated:
* libavr32 885a64a...8f04e5b:
Warn: libavr32 doesn't contain commit 885a64afe42cc89bc4f59d72ffd10d8f97dd72ce
no changes added to commit (use "git add" and/or "git commit -a")