You're fine, you're just seeing some consequences of the confusing way git 
submodules work. For some dependencies that are managed within JuliaLang on 
github, they are set up as submodules in the deps folder so it's easier to 
work on them while still in version control inside a Julia source tree.

The next time you do make after a submodule changes, Julia's makefiles 
should update the submodules for you. Or you can manually update them with 
"git submodule update", should work the same way.

git fetch just checks github and updates the remote information about 
what's available, doesn't make any changes to your local working copy. Git 
pull does a fetch and then merges the latest changes into your working 
copy, assuming you don't have any conflicting changes locally. If you 
haven't touched anything, usually this is just a "fast-forward" that brings 
your copy up to date with what's on github. Unfortunately the submodules 
don't auto-update, which is what looks confusing here.

I personally do a make clean every time I pull, just because Julia's C 
codebase is pretty small and quick to rebuild. make clean doesn't touch the 
dependencies. You can sometimes get away with not doing make clean, just 
doing git pull && make instead, but since building the Julia system image 
(the list of .jl files that goes by) is the most time-consuming part of a 
build, I prefer avoiding any potential problems and just cleaning all of 
the C each time.

The release-0.3 branch is where the release tags will be made from, but 
also future simple bugfixes that don't have to do with any of the breaking 
changes currently being made on master will also be backported to 
release-0.3. So to keep up to date with those bugfixes before the next 
point release of 0.3.1, you should be use the release-0.3 branch, yes. Tags 
are supposed to never change, unless Elliot does any more rebases and force 
pushes hoping noone notices.


On Friday, August 15, 2014 2:37:03 PM UTC-7, Ross Boylan wrote:
>
> If I pull new source from julia can I just repeat the build procedure 
> (without even, e.g. make clean)?  Does it matter if it's within 0.3 or 
> 0.3 to 0.4?  (I plan to take the advice to stay off 0.4, but am 
> wondering about the general principles.) 
>
> I take it from previous discussion that I don't need to do anything to 
> my packages as long as I stay within a point release, like 0.3. 
>
> I also have some questions about how to get the new source; they are 
> mostly git-related, but perhaps someone here could help me out. 
>
> My original clone was ~ a month ago when master was tracking 0.3.  I 
> just did a git pull and then 
> $ git checkout release-0.3 
> M        deps/libuv 
> M        deps/openlibm 
> M        deps/openspecfun 
> M        doc/juliadoc 
> Branch release-0.3 set up to track remote branch release-0.3 from origin. 
> Switched to a new branch 'release-0.3' 
> $ git diff 
> diff --git a/deps/libuv b/deps/libuv 
> index a12eb33..4c58385 160000 
> --- a/deps/libuv 
> +++ b/deps/libuv 
> @@ -1 +1 @@ 
> -Subproject commit a12eb3329cd2c0224ef631ea062fa16d119da47c 
> +Subproject commit 4c58385dd22eb36c1eccbe1460ef67e7fe182ae0 
> diff --git a/deps/openlibm b/deps/openlibm 
> index 0b9d67e..da6c9c1 160000 
> --- a/deps/openlibm 
> +++ b/deps/openlibm 
> @@ -1 +1 @@ 
> -Subproject commit 0b9d67e54a5b07e32a27b68cf0a01c33b515fc9b 
> +Subproject commit da6c9c1805f773f83ece3eca64323f87ffdda845 
> diff --git a/deps/openspecfun b/deps/openspecfun 
> index f3036c0..1b9edfb 160000 
> --- a/deps/openspecfun 
> +++ b/deps/openspecfun 
> @@ -1 +1 @@ 
> -Subproject commit f3036c094ae56fdf447092a871ea4fe27fdeec16 
> +Subproject commit 1b9edfbd8c7a4d4cd13159d1001664a811ee02dd 
> diff --git a/doc/juliadoc b/doc/juliadoc 
> index bab3c6b..fe3db72 160000 
> --- a/doc/juliadoc 
> +++ b/doc/juliadoc 
> @@ -1 +1 @@ 
> -Subproject commit bab3c6ba9e613da94001e1d71f994143814a1422 
> +Subproject commit fe3db7224daf4798ac950f7aa2c6ae7b60b85491 
>
> I am not sure what is going on or what I should do. 
>
> Why did the checkout produce modified files instead of just switching? 
>
> Why the strange and minimalist differences?  Do I need to do some kind 
> of git command to update the subprojects? 
>
> In retrospect I probably should have done a git fetch rather than a 
> pull.  Not sure if that's related to any of my problems. 
>
> Finally, is release-0.3 the right branch to be on to have the latest 0.3 
> code?  Should I use a tag instead? 
>
> Thanks. 
> Ross Boylan 
>
>

Reply via email to