Coder Social home page Coder Social logo

Fixing tls-tris history about tls-tris HOT 3 CLOSED

cloudflare avatar cloudflare commented on July 29, 2024
Fixing tls-tris history

from tls-tris.

Comments (3)

Lekensteyn avatar Lekensteyn commented on July 29, 2024

Another question, should we try to make the diff against upstream as small as possible (hopefully making maintenance/future upstreaming easier) or preserve changes as much as possible (such that motivation for changes are tracked)? Asking because of things like #31 (I wonder whether to record the revert or whether to drop the two commits while rebasing).

Another change I would like to do why rebasing is to fix one indentation issue that somehow got folded with unrelated changes:

git filter-branch --tree-filter 'files=$(git show $GIT_COMMIT --format= --name-status | awk "/^[AM].*\\.go$/{print \$2}"); [ -z "$files" ] || gofmt -w $files' $base_commit

Concrete proposal (focused to make maintainability easier):

  1. gotfmt each commit
  2. drop the two short header commits; drop change #15; squash typo fixes into their original patches
  3. rebase on pwu/go-update/go1.9
  4. [solve merge conflicts / add squash additional fixes for tests / run tests at each step]
  5. push result to master (eventually)

Notes:
short header experiment also included a check for empty CH extensionEarlyData, this needs to be re-added.

UPDATE: https://github.com/cloudflare/tls-tris/commits/pwu/master-go1.9-rebase is updated following the above proposal; the note above wrt extensionEarlyData is still valid.

from tls-tris.

Lekensteyn avatar Lekensteyn commented on July 29, 2024

For reference, these are the commits of importance:

  • 6e74107 current (old) master branch
  • 3e970d0 old base branch (before adding tls13 patches)
  • e3f996a new base branch (with fixed committer info, no changes otherwise)
  • b0bcb44 pwu/go-update/go1.9 branch (extracted from go1.9 tag), based on that "new base branch"
  • 25f2efc pwu/master-go1.9-rebase~ (rebased master on go1.9 crypto/tls)
  • 25f2efc pwu/master-go1.9-rebase branch includes actually building with go1.9 instead of go1.8
  • c11c900 pwu/remove-short_headers branch is pwu/master-go1.9-rebase~ plus #31

To check for changes in the contents (prepend pwu/ with origin/ if necessary) while ignoring line number changes:

git diff 3e970d0da6..origin/pwu/remove-short_headers > /tmp/1
git diff origin/pwu/go-update/go1.9..origin/pwu/master-go1.9-rebase~ > /tmp/2
sed -e '/^index /d' -e '/^@@/d' -i "" /tmp/[12]

You can compare that result using your favorite diff tool. For your convenience, I have prepared a diff here: https://gist.github.com/Lekensteyn/4f33d7a295d959cd2dc479f9a01a95b9/revisions
Look for the ++, --, +- or +- lines, the others ( + or -) are just changing the context.

Changes while rebasing:

  • Added // TODO use alertDecodeError? in 4191962
  • Removal of the previously mentioned "check for empty CH extensionEarlyData"
  • update new upstream test to work with unmarshal return value change.

If it OK, pwu/master-go1.9-rebase should become the new master branch.

from tls-tris.

Lekensteyn avatar Lekensteyn commented on July 29, 2024

Reviewed/acked internally, master is now 25f2efc.

from tls-tris.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.