On Monday 27 April 2009 14:14:40 Daniel Cheng wrote: > On Mon, Apr 27, 2009 at 9:02 PM, Daniel Cheng <j16sdiz+freenet at gmail.com> wrote: > > On Mon, Apr 27, 2009 at 8:10 PM, Matthew Toseland > > <toad at amphibian.dyndns.org> wrote: > >> On Sunday 26 April 2009 01:14:34 Daniel Cheng wrote: > >>> On Sun, Apr 26, 2009 at 12:03 AM, Matthew Toseland > >>> <toad at amphibian.dyndns.org> wrote: > >>> > On Saturday 25 April 2009 04:13:39 Matthew Toseland wrote: > >>> >> The SVN repository is read-only, and I have taken a dump. It will be > >> posted > >>> > to > >>> >> Freenet soon and I will announce the location of the file, the gpg > >> signature > >>> >> etc. We might also put it on the mirrors network, but it is 281MB, so I > >>> > dunno > >>> >> if this is a good idea. In the meantime, the SHA256 checksum is: > >>> >> 5417c7f26fc5baeb9fa2186194f70f00d2470d924a98c03f21561c4020f32538 > >>> >> > >>> >> We are using github, and on nextgens suggestion (and partly due to > >> security > >>> >> issues with github) we will have for each sub-project two trees: > >>> >> - The official tree. This is code which has been reviewed by a trusted > >>> >> developer. > >>> >> - The staging tree. All developers - just about anyone who asks for an > >>> >> account - will have push access to this tree. > >>> >> > >>> >> Of course I will also take pull requests from devs who have their own > >> trees. > >>> >> Please post on devl if you think your tree is ready to be pulled; and if > >> you > >>> >> don't, it would be great to know about work in progress. > >>> >> > >>> >> IMHO the cost of the above arrangement is marginal: code has to be > >> reviewed > >>> >> anyway before we release it, and pushing it to the official tree does not > >>> >> cost significant time. Testing builds can either be created as part of > >> this > >>> >> process or can be auto-built from the known safe official tree. > >>> >> > >>> >> Stable builds of freenet itself will be released from the official tree > >>> > after > >>> >> creating a tag. I will build them locally, sign the tag and the source > >> code > >>> >> tarball, and upload them both to the web and to the Freenet auto-updater. > >>> >> IMHO this is the right arrangement for code run on newbie nodes, > >> including > >>> >> for plugins, but especially for anything inserted into the > >>> >> auto-update-over-Freenet system. > >>> >> > >>> >> If you want access to the staging tree, please create an account on > >> github > >>> > and > >>> >> email me the username. Sign your mail if possible. > >>> >> > >>> >> The github page, with a list of all sub-projects: > >>> >> http://github.com/freenet/ > >>> >> > >>> >> Notable sub-projects: > >>> >> > >>> >> fred (the Freenet daemon itself) > >>> >> > >>> >> git://github.com/freenet/fred-official.git > >>> >> git://github.com/freenet/fred-staging.git > >>> >> > >>> >> contrib (freenet-ext.jar, currently doesn't include wrapper source) > >>> >> > >>> >> git://github.com/freenet/contrib-official.git > >>> >> git://github.com/freenet/contrib-staging.git > >>> >> > >>> >> new_installer (the installer) > >>> >> > >>> >> git://github.com/freenet/java_installer-staging.git > >>> >> git://github.com/freenet/java_installer-official.git > >>> >> > >>> >> wininstaller (Zero3's new windows-only installer) > >>> >> > >>> >> git://github.com/freenet/wininstaller-staging.git > >>> >> git://github.com/freenet/wininstaller-official.git > >>> >> > >>> >> Freetalk > >>> >> > >>> >> git://github.com/freenet/plugin-Freetalk-staging.git > >>> >> git://github.com/freenet/plugin-Freetalk-official.git > >>> >> > >>> >> And so on. > >>> >> > >>> >> I will sort out the rest soon, I have imported the most important stuff, > >> the > >>> >> rest should not take long. I will also sort out new scripts for building > >>> >> stable builds etc. > >>> > > >>> > I have completed the conversion of the repositories. Some projects > >>> > have -official and -staging and some do not. Specifically, anything which > >> is > >>> > bundled with Freenet, including all non-obsolete official plugins, > >>> > have -official and -staging. Some libraries do. Old stuff, simulators, > >>> > applications that we don't bundle etc, generally don't. > >>> > > >>> > Note that there are two possible URLs for each subproject, for example: > >>> > > >>> > Public: git://github.com/freenet/Thaw.git > >>> > Private: git at github.com:freenet/Thaw.git > >>> > > >>> > Use the latter if you have write access, use the former if you're just > >> going > >>> > to clone and then ask somebody to pull. > >>> > > >>> > Most remaining work relates to building stuff and code review. > >>> > > >>> > Most plugins do not have individual build.xml's, they should, so that devs > >> can > >>> > build the jar and test it locally. > >>> > > >>> > There will not be any auto-build, at least for the time being, whether on > >> fred > >>> > or on plugins. > >>> > > >>> > >>> Please enable the email / cia bot thing, you can find the setting under > >>> https://github.com/freenet/<project name>/edit/hooks > >> > >> I am skeptical about diffs by email. Code should be reviewed directly from the > >> repository, diffs by email is insecure. > >> > > > > On security -- I would agree with you. > > > > But email is easier for casual reviewing / issue tracking . > > We are in different timezones, we need some way to comment on code > > when there are disagreement / something unclear. Email is the method > > we used to. > > Maybe I should explain how the linux kernel community / official git > reposity handle this. > > There are two kind of developer -- "subsystem maintainer" and "casual > developers". > > <subsystem maintainer case> > Subsystem maintainer would develop on his own branch. > When his code is ready, he will tag it and ask for a pull. > The main developer would then do a: > > git branch -b > git fetch git://<subsystem maintainer's repo>/xxx.git histag > git log -p HEAD..histag > > if he think the tree is fine, he would do a: > > git merge histag > > > <casual developer case> > Casual developer would send his patch using email: > > git send-email --annotate --to 'email at exmaple.com' -s > original/master..HEAD > > The main developer would review them from email. If It's fine, he will > apply them > > cat mbox-file | git am > > Git would record the "From" line of the email as "author" and the main developer > as "committer".
Exactly. This is a secure workflow. Sending diffs to the list and reviewing them there is not. > > > > And don't forget the CIA.vc bot -- I guess it have no security impact, right? Agreed. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 835 bytes Desc: This is a digitally signed message part. URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20090427/2aaeb342/attachment.pgp>