Re-syncing with Jef's upstream..

Dirk Hohndel dirk at hohndel.org
Fri May 8 02:54:18 CEST 2020


I really appreciate that you did that.
Given our model here, this is the right thing to do.
I hope that Jef has the time to look at the changes and can possibly include a few of them to overall reduce the difference between our trees.
Making that easier would be reason enough to do these rebases, but overall, I appreciate the logic behind making it easier to stay current with upstream as well.
I will of course not delete the NG branch, so nothing in the history is lost.

Again, thanks for doing this!

When I'm back at my computer, I'll update Subsurface to use the new branch

/D

/D

On May 7, 2020 3:57:34 PM PDT, Linus Torvalds <torvalds at linux-foundation.org> wrote:
>Ok, so I've just spent several hours re-synchronizing our subsurface
>branch with Jef's upstream.
>
>The most trivial part of that was to just pull the changes from Jef's
>tree - they merged cleanly, nothing odd there.
>
>But then I tried to basically re-base all our changes on top of Jef's
>unmodified tree, to see what all our changes actually are these days.
>
>This resulted in two different things:
>
> (a) a number of trivial updates to the 'Subsurface-NG' branch itself
>
> (b) the actual new branch itself.
>
>That (a) is basically stuff I noticed while doing the rebasing, and
>where I decided that the differences to Jef's upstream should be
>minimized rather than carried forward. So this is things like just
>unnecessary left-overs from other development that just isn't relevant
>any more. Some of it was literally just plain whitespace differences.
>
>And (b) is basically "throw out all of our history, and try to
>re-create the exact same end result as we got in (a)".
>
>Dirk, I'm not exactly sure what you think is the best option here.
>Both branches are in the usual places, I called the new branch DS9
>(I'm not sure if your "NG" naming was a Star Trek reference, but I
>decided it was, and that the "new new generation" is thus "deep space
>nine").
>
>You can see them both at github:
>
>    https://github.com/subsurface/libdc/tree/Subsurface-NG
>    https://github.com/subsurface/libdc/tree/Subsurface-DS9
>
>and the important part here is that the DS9 branch should _not_ be
>pulled into the NG branch - the two have exactly the same tree
>content-wise, but they have very different history. The DS9 branch has
>thrown out all our old history, and is just a linear series of 27
>commits on top of what is Jef's upstream as of today:
>
>    Update compiler flags and dc version suffix for Subsurface-NG
>    Fix up .gitignore file
>    Clean up 'dc_tankvolume_t' type and make it 'dc_tankinfo_t'
>    Add generic field cache and string field infrastructure
>    Add time-to-surface sample type
>    Add string event sample type
>    Extend on the event flag type with severity and types
>    Add 'usbstorage' iostream
>    Add backend for Garmin Descent Mk1
>    Add support for the Deepblu Cosmiq+ dive computer
>    Suunto Eon Steel: sort the dive list properly
>   Use the extended parsing facilities for the Suunto EON Steel backend
>    Atomics Cobalt: use the new DC string fields
>    Make custom iostream read/write wrapper more rebust
>    Add back Mares BlueLink Pro bluetooth support tweaks
>    Add serial number to parser creation for ostc, atom2, shearwater
>and suunto d9
>    Heinrichs Weikamp OSTC: add extended information parsing
>    Suunto D9 family: add extended information parsing
>    Oceanic Atom2: add extended string information parsing
>Oceanic: when encountering an unknown device, report the version string
>    i770R: parse tank pressure and water salinity like the i750tc
>    Mark Aqualung i750TC as Bluetooth capable
>    Cressi: mark Cartesio and Goa as supporting BLE
>  Shearwater Petrel: make the hardware ID decoding a bit easier to read
>    Shearwater Teric: add support for the TAG INFO_EVENT
>    Shearwater: fix (again) per-cell ppO2 reporting
>    Shearwater: add extended information parsing
>
>while our "real" history (in Subsurface-NG) right now is 114 commits
>of development, and 28 merges..
>
>So the DS9 branch is very much a simplified history that tries to make
>it much more obvious exactly what we've changed.
>
>In contrast, the commits in our current NG branch are a mix of
>development (ie you can see the history of how some of the backends
>have been developed), and updates that Jef has taken and merged back
>(sometimes in different versions), and various updates related to
>interface changes (either the libdivecomputer iostream changes, or
>just our own cleanups to unify the field cache and string helpers.
>
>Jef - that "Suunto Eon Steel: sort the dive list properly" commit is
>very much a bug-fix. You should take it, regardless of any subsurface
>interface issues. So is the BlueLink Pro thing, for that matter.
>
>The rest is mostly either new backends (ie the Garmin Descent and the
>Deeplu Cosmiq), or the extended string interface support.
>
>Anyway, exactly *because* the new tree is bit-for-bit identical
>between the NG and DS9 branches, there's no difference on a code level
>between the two, and the only real difference is that DS9 makes it
>much easier to see what the changes are from Jef's point.
>
>Dirk, I'm not sure you care deeply. I decided to do it mainly because
>I wanted to know what our state was. It's not too bad. The only really
>annoying thing I found was the 'unsigned int serial' number
>differences to the parser creation fucntions, but those haven't been
>much of a pain lately.
>
>But if you think that switching over to the DS9 branch makes sense,
>that would make it (possibly) easier to do any backporting of our work
>(or, alternatively, just do this kind of rebase again in a couple of
>years, to keep track of our differences wrt Jef's upstream and never
>let them become too overwhelming).
>
>                Linus

-- 
From my phone
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://libdivecomputer.org/pipermail/devel/attachments/20200507/397eda54/attachment.html>


More information about the devel mailing list