Feature Request for Source Code documentation

I was browsing the source code database at developer.blender.org and, well, there are a lot of files under each branch/version.

but there is no “download this entire source archive as .zip” option. at least not one I can see. This feature is a Must-have. Simply because people are not going to build from source or mess with source if it takes them weeks to download said source One-file-at-a-time.

I had been trying to ensure that all source code from all previous versions was web.archive.org+ed, this is a grueling task with the source in the current state.

Please help.

in addition I might note that each blender version’s source should have some note about what compiler (and what specific version) and programming language installations are necessary to build it. saying CMake in example is not enough specifying a version could be crucial as some distros may not build right in older or newer CMakes than intended.

You’d probably want to give the blender developer wiki a read.

the building blender section will have instructions on how to obtain the source and what compiler versions we require.

1 Like

There is also an archive of the source of all Blender releases:
https://download.blender.org/source/

2 Likes

that only tells you how to download the newest blender’s source code.

Brecht, now that was what I was looking for. shame I couldn’t find it via navigation from blender.org how did you navigate to it? if you don’t mind me asking.

Blender uses git, when you clone the repository, you get all versions, and by default it gives you a copy of the latest code on disk, once you have the repository, you can check out any branch listed on these pages and it’ll give you those files without any additional downloads.

1 Like

While that is good in it’s own way. Having the traditional zip archive of files per distro has it’s advantages. especially if you only want/need one specific distro and want all it’s files immediately searchable and openable locally.

hint, I had to use duckduckgo to find the 2.49b source in that git because searching for 2.49b within the git’s own search field yields no results. it’s also difficult to navigate around. there’s no “up one directory” link. you have to manually use the backbutton on a browser. if you lose the link because you in example navigate to a folder within said archive in a new tab and close the original tab and clear browsing history, there is no way to get back to the parent directory than to leave the git and do another search to find it all over again.

This is not a complaint. This is an experience. Maybe I just don’t know how to navigate through the git, or maybe it needs reworking to be more system standard (like a typical file system). either way the reason I point this out is that it seems a bit counter intuitive, though I do like the notes system on the files.

Are you familiar with the notion of Version Control systems at all?
And its current king, git?
This is quite a pre-requisite to develop anything, at least it will make your life much easier.

I seem to see myself 5 years ago in your posts, being in the windows walled garden, not having much clue about development.

On a random linux distribution, from a terminal shell session, you type git clone git://git.blender.org/blender.git, press enter, and you get all source code downloaded, multiple releases, all the history!

This command also works on windows, if you take the time to install git there, either from the shell bundled with this download, or from windows native CMD/Powershell.

P.S. What you see at http://developer.blender.org/ is phabricator, a website made for collaborating on source code together. It is not made primarily to browse said source code, there are much much better options for this, specifically a text editor installed on your machine. And later an Integrated Development Environment such as vscode.

I went into the archive manually in browser to attempt to navigate it to see if I could find what I was looking for with-in it easily. I navigated into blender.git and found a tag for 2.49b, no subsequent data, I could not identify anything about 2.49b in heads seems the oldest that goes is 2.5 or 2.49 is not so labelled. And I tried fishing through short log, and can’t find anything but pages and pages about the newest releases.

again, Directory of release, beats it for navigation speed.

I’ve updated Previous Versions — blender.org now to make the source archives easier to find.

This is what getting ready to develop for blender looks like here.
(Debian Linux operating system)

You can also see advanced development sessions with employees from the Blender foundation at https://code.blender.org/ (top video currently).

1 Like

Thank you, that is indeed helpful!

Maxzor, I see, in order to find anything in the git you need git software to open it. and it has it’s advantages apparently from what I am seeing there, code docs are loaded in the program itself with code-word highlighting and syntax guides (I am guessing). This is definitely worlds better than notepad/wordpad I will admit. I may well use it in the end.

1 Like

as for dev videos, I prefer text on forums. I know I’m old fashioned, I just learn better from clear textual terms that are able to be rechecked without rewinding and trying to pause at just the right moment. thanks for the link though, I might check it out if I need to see something rather than read about it.

Except that it doesn’t, really.

I really really really suggest you first learn the basics of git. For your own comfort and sanity.

the command ‘git clone https://git.blender.org/blender.git’ gives you an indexed archive of all the versions of the code that ever existed on your harddisk, with the possibility to ‘unzip’ any version you like from it. All while being only marginally larger than a zip of a single version.

You can do ‘git checkout v2.49b’ => voila code for version 2.49b for you to browse.
You can checkout (‘unzip’, if you like) any version from 2.25 to the most recent. You can compare versions. You can import the newest changes with a simple command.

A plain old zip file of a single version is way more limiting.

(all the versions since a source control system was in use of course, it’s not magic :wink: )

edit:

That’s not git, what you’re looking at. That’s a text editor. The only thing git does is store and retrieve versions of the code.

2 Likes