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".




>
> And don't forget the CIA.vc bot -- I guess it have no security impact, right?
> --
>

Reply via email to