(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
Lib
and release it onhttp://git.server/Lib.jl.git
(possibly in adev
branch if you don’t want to advertize it as the newmaster
version) - make
App
depend on the public release ofLib
:] add http://git.server/Lib.jl.git#dev
- commit a clean version of
App
and 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 oradd
ingApp
from its public git repository will get a clean dependency on the publicly available version ofLib
. - In order to easily develop
App
, temporarily switch todevelop
ingLib
again:] dev /local/path/to/Lib.jl
- do as many local changes as you want in
App
andLib
, 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.