Restore the 'forked from' for rust-secp256k1-zkp and secp256k1-zkp

The github project fork network is important, it will bring much more eyes on the fixes on the whole fork network, and will bring more developers to contribute on it.

Unfortunately, for some history reason (there were a lot of changes and do-overs of the Grin secp256k libs… they used to be integrated right into the grin repo but were pulled out and rebuilt, etc), The forked from info is lost, both at https://github.com/mimblewimble/rust-secp256k1-zkp and at https://github.com/mimblewimble/rust-secp256k1-zkp

I propose to restore this forked from info.

As a demo here: https://github.com/garyyu/rust-secp256k1, I can ‘restore’ the forked from. (Note: it’s not a true restore! because github don’t support this function and I guess it’s not allowed in github, forever. More exactly, it’s a re-creation.)

https://github.com/rust-bitcoin/rust-secp256k1 is the original forked from of https://github.com/mimblewimble/rust-secp256k1-zkp . Btw, rust-bitcoin/rust-secp256k1 has 53 fork, but mimblewimble/rust-secp256k1-zkp only have 8.

How to restore the forked from?

  1. fork rust-bitcoin/rust-secp256k1 into mimblewimble
  2. find the real fork point, for example: https://github.com/garyyu/rust-secp256k1/releases/tag/fork-point
  3. remove the master branch, and create new master branch from fork-point
  4. merge from master at mimblewimble/rust-secp256k1-zkp
  5. remove all exising tags
  6. push all mimblewimble/rust-secp256k1-zkp tags

Done.

After the new repo is ready, we can change its name as rust-secp256k1-zkp and rename the old one as (obsoleted)rust-secp256k1-zkp.

A small problem: there’s no good way to restore the exising github issues and github pull-request. But since only 5 closed issues and 21 closed PR, it should be acceptable.

And one more thing: rust-bitcoin/rust-secp256k1 doesn’t split the depend/secp256k1 as an indepent repo, so we can do the same thing, to obsolete the mimblewimble/secp256k1-zkp. Or perhaps do the same thing for mimblewimble/secp256k1-zkp.

To correct a mistake at above:
https://github.com/mimblewimble/secp256k1-zkp is forked from
https://github.com/ElementsProject/secp256k1-zkp , not from https://github.com/rust-bitcoin/rust-secp256k1.

So, we need do the same thing for it.

Thanks for looking into this, but this is probably better off as a github issue?

@Yeastplume I’m afraid not. This is the designed behavior of Github, imagine if you can switch the forked from freely, there will be a mess for Github project fork network.

So, we will never have this feature from Github, must do by ourselves.

I remember there was an old post in stackoverflow to discuss this Github feature.

I mean open this as an issue on Github so we can track it there, as it’s a better place for it.

So, imo, if we agree to do it, do it now.

1 Like