(I’m assuming you need to commit the Manifest file because your packages are not registered. Is that correct?)
I think the situation is a bit tricky here, because as soon as you want to publicly release both packages, you’ll have to ensure that the publicly available versions are compatible. In other words, you’ll have to avoid situations where the released version of A depends on a not-yet-released (but available on your machine) version of B.
One thing you could do is (let me rename A and B to App and Lib respectively):
- commit a clean version of
Liband release it onhttp://git.server/Lib.jl.git(possibly in adevbranch if you don’t want to advertize it as the newmasterversion) - make
Appdepend on the public release ofLib:] add http://git.server/Lib.jl.git#dev - commit a clean version of
Appand publicly release it (again, possibly in a specific branch). While doing so, make sure its Manifest file does not contain any local reference toLib. This way, anybody cloning oraddingAppfrom its public git repository will get a clean dependency on the publicly available version ofLib. - In order to easily develop
App, temporarily switch todevelopingLibagain:] dev /local/path/to/Lib.jl - do as many local changes as you want in
AppandLib, but don’t commit anything at this stage. (otherwise you’d risk having inconsistent commits in your repos) - whenever you get to a working version of both packages and want to commit, go back to step 1.