Hi all,

I just pushed a pretty big change to the UHD repository. Going forward, we
will be tracking the FPGA code and the UHD code in the same repository, as
we did pre-2014.

For most of you, this won't be a big change, except for a big changeset on
your next git pull. If you are running UHD from pre-built binaries, this
won't affect you at all. However, for those who play around in the git
repositories, and build FPGA images from source, there will be some changes.

*Summary of changes going forward:*
- The fpga-src submodule is no longer part of the repository
- FPGA code is now tracked in the fpga/ subdirectory
- Commits that affect FPGA and UHD code alike (or FPGA and MPM code) will
be committed in a single commit going forward
- We are planning to provide release tarballs both with and without the
FPGA source code. The details on that are still in the works.

*Why are we doing this?*
I'll be frank: This is something we did for our own benefit, since we treat
the FPGA and UHD code bases as a unit, it is easier to develop within a
single repository. In particular, the ability to commit FPGA and UHD
changes in a single atomic commit, is a great win. I do think this is good
for anyone who wants to inspect the codebase, though. Occasionally when we
introduced changes that would modify both UHD and FPGA, and then changed a
compat number as well, users weren't sure which versions of FPGA and UHD to
match up. This is also true for us at Ettus Research / NI, most importantly
in our continuous integration systems, where it is much easier to verify
the consistency of a single code base, than running two separate checks and
stitching them together.

*How can I rebase code from the FPGA repository onto the new UHD
repository?*
With git, this is very easily done. The git commit message contains all the
required instructions.
See here:
https://github.com/EttusResearch/uhd/commit/bafa9d95453387814ef25e6b6256ba8db2df612f

*How will this affect the images manifest?*
FPGA images will continue to contain the git commit hash they were built
from. That means that a commit that changes something in the FPGA source
code cannot also contain image manifest changes containing those FPGA
images. However, we are planning some modifications to
uhd_images_downloader such that it will be able to also download the
correct image zip files for those commits. This is something that can come
in handy for git bisect, it is not something that most users will require.

*What about the UHD-3.15.LTS branch?*
This change is only rolled out to master branch. UHD 3.15 will, for the
duration of its lifetime, receive FPGA updates the same way it always has
(i.e., the fpga repository on GitHub will be updated, and the submodule
pointer will be updated as well). This is also why the fpga-src/ submodule
and the fpga/ directory have different path names, so branch switching
between master and UHD-3.15.LTS remains easily possible without submodule
clashes.

*What about the fpga repository on GitHub?*
For the reasons laid out above, it will remain as-is. The master branch
will be frozen, though, to the state it was in before the merge into UHD.
This is useful for the history of the branch, bisecting before the merge,
and git blame.

Please respond to this thread with questions. Thanks!

--Martin
_______________________________________________
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

Reply via email to