You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Yashin Mehaboobe <ya...@gmail.com> on 2013/07/18 03:04:44 UTC

Project proposal for ICFOSS

Hi Dave,
I'm one of the students who participated for the Apache ICFOSS program
conducted by Luciano Resende. I was looking through the CouchDB projects
and found one interesting . It is the automated release process
documentation project at
https://issues.apache.org/jira/browse/COUCHDB-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel
.

I'd like to work on this project as part of the ICFOSS mentorship program.
Can you please be my mentor? I have worked extensively with Python and have
experience in using Sphinx. I hope to do this project by taking the rst
file and generating the various outputs from that file. I intend to create
a separate script for this task.

Hoping for a positive reply! :)

-- 
- Yashin Mehaboobe

Re: Project proposal for ICFOSS

Posted by Noah Slater <ns...@apache.org>.
On 10 August 2013 10:34, Yashin Mehaboobe <ya...@gmail.com> wrote:

> First of all, so sorry for the late reply. Secondly, I've been selected to
> work on this project so thank you so much for letting me work on this :) .
> I'll have a rudimentary code up and running as soon as possible.
>
> Noah: So instead of integrating the Git and JIRA requests into bootstrap I
> will create a separate python script that will pull them into an RST file
> that can be improved upon if needed. That's what you meant right?
>

Sounds about right! Could even make it so that it lives in couchdb-admin.

https://git-wip-us.apache.org/repos/asf?p=couchdb-admin.git

Nice and self-contained.

When we just add a section about how to use it to the release procedure.

http://wiki.apache.org/couchdb/Release_Procedure

-- 
Noah Slater
https://twitter.com/nslater

Re: Project proposal for ICFOSS

Posted by Noah Slater <ns...@apache.org>.
On 10 August 2013 16:12, Alexander Shorin <kx...@gmail.com> wrote:

>
> AFAIK, CVE issues are announces at dev@ and security@ (?) mailing
> lists. Also I'd put them at:
>
> https://github.com/apache/couchdb/tree/1781-reorganize-and-improve-docs/share/doc/src/cve


Your script can access mbox archives, if it would help.

See:

https://git-wip-us.apache.org/repos/asf?p=couchdb-admin.git;a=blob_plain;f=release/build_cve_list.sh;hb=HEAD
https://git-wip-us.apache.org/repos/asf?p=couchdb-admin.git;a=blob_plain;f=release/check_docs.sh;hb=HEAD

If you'd like some mbox files to play around with (as you don't have SSH
access to ASF infra) let me know.

-- 
Noah Slater
https://twitter.com/nslater

Re: Project proposal for ICFOSS

Posted by Alexander Shorin <kx...@gmail.com>.
On Sat, Aug 10, 2013 at 1:34 PM, Yashin Mehaboobe <ya...@gmail.com> wrote:
>
> Alexander: I was thinking of starting to create the RST file from current
> release only. From now on, a unique file will be created for each branch
> release (with the commit hash/version as the name?).

Is this structure is ok for you?
https://github.com/apache/couchdb/tree/1781-reorganize-and-improve-docs/share/doc/src/whatsnew

It's per release branch however, but should be more easy to inject new
release changes.

> About the integration of upgrade notes and CVE warnings into the file,
> could you please suggest from where I can pull the data? Is it usually
> present in the Git repository or the JIRA?

Probably, there is no such source to pull from. CVE information
theoretically could be found at
http://cve.mitre.org/cgi-bin/cvename.cgi
but they still has no info about three latest issues: 2012-5641,
2012-5649 and 2012-5650.

AFAIK, CVE issues are announces at dev@ and security@ (?) mailing
lists. Also I'd put them at:
https://github.com/apache/couchdb/tree/1781-reorganize-and-improve-docs/share/doc/src/cve

However, I'm not sure how you plan to parse such data.

Upgrade noted still have to be written manually since only devs and
testers are knows what have changes and what actions are needed to
upgrade CouchDB to the newest release, so generated file with changes
have to be placed under version control - that's how I see the problem
and solution, but there may be others.

--
,,,^..^,,,

Re: Project proposal for ICFOSS

Posted by Yashin Mehaboobe <ya...@gmail.com>.
First of all, so sorry for the late reply. Secondly, I've been selected to
work on this project so thank you so much for letting me work on this :) .
I'll have a rudimentary code up and running as soon as possible.

Noah: So instead of integrating the Git and JIRA requests into bootstrap I
will create a separate python script that will pull them into an RST file
that can be improved upon if needed. That's what you meant right?

Alexander: I was thinking of starting to create the RST file from current
release only. From now on, a unique file will be created for each branch
release (with the commit hash/version as the name?). About the integration
of upgrade notes and CVE warnings into the file, could you please suggest
from where I can pull the data? Is it usually present in the Git repository
or the JIRA?

On Sun, Aug 4, 2013 at 2:09 AM, Noah Slater <ns...@apache.org> wrote:

> Hmm.
>
> If we're planning to commit the file, then the generation should not be in
> ./boostrap at all.
>
> Instead, we should ship a utility script that spits out an RST file that
> serves as a *starting point* for editing, and then committing.
>
>
> On 3 August 2013 20:33, Alexander Shorin <kx...@gmail.com> wrote:
>
> > Hi Yashin,
> >
> > Do you plan to generate since RST file with all changes or only just
> > for current release?
> >
> > Why I'm asking...There is already change history for old releases that
> > is not possible to generate automatically: it was quite untrivial to
> > automate for 1.3.0 release for me since there was a lot of false
> > positive matches or no matches at all. Completely regenerate past
> > history also isn't good idea since it will be very heavy operation
> > with a lot of JIRA requests.
> >
> > So the idea: to generate changes only for current branch release. Get
> > the commit hash when previous release was tagged and scan commits till
> > HEAD for features, JIRA issues etc. The output will be the file for
> > specific branch.
> >
> > For example how it may looks:
> > http://kxepal.iriscouch.org/docs/1.3/whatsnew/index.html
> >
> > By the way. This generated change log have to be stored on disk and be
> > committed: how we're planning to write Upgrade notes, CVE warnings,
> > Breaking changes and Migration guides for new release? Or, if not, how
> > and from where the script will embed them into generated .rst file(s)?
> >
> > --
> > ,,,^..^,,,
> >
> >
> > On Sat, Aug 3, 2013 at 12:18 AM, Noah Slater <ns...@apache.org> wrote:
> > > On 30 July 2013 20:13, Yashin Mehaboobe <ya...@gmail.com> wrote:
> > >
> > >>
> > >> 1.User runs bootstrap
> > >>
> > >
> > > Yep. But remember: only people building CouchDB from a Git checkout
> will
> > > ever need to run ./boostrap. When we distribute CouchDB from our
> website,
> > > all of the files that ./boostrap generates are included for them.
> > >
> > >
> > >> 2.Bootstrap fetches the git commit messages too and stores in an rst
> > file
> > >>
> > >
> > > Sounds good.
> > >
> > >
> > >> 3.The python script uses this rst file to generate documentation.
> > >>
> > >
> > > Yep! But note: the Python script that generates the RST files is called
> > by
> > > make. So we have two steps here:
> > >
> > > ./bootstrap run on a pristine source checkout, and only run by devs. It
> > > talks to Git, and generates an RST file.
> > >
> > > Make is configured to expect the RST file, as if it were a regular part
> > of
> > > the source. When you run "make", the regular rules for building the
> docs
> > > should pick up the RST file and include it into the docs.
> > >
> > > --
> > > NS
> >
>
>
>
> --
> Noah Slater
> https://twitter.com/nslater
>



-- 
- Yashin Mehaboobe

Re: Project proposal for ICFOSS

Posted by Noah Slater <ns...@apache.org>.
Hmm.

If we're planning to commit the file, then the generation should not be in
./boostrap at all.

Instead, we should ship a utility script that spits out an RST file that
serves as a *starting point* for editing, and then committing.


On 3 August 2013 20:33, Alexander Shorin <kx...@gmail.com> wrote:

> Hi Yashin,
>
> Do you plan to generate since RST file with all changes or only just
> for current release?
>
> Why I'm asking...There is already change history for old releases that
> is not possible to generate automatically: it was quite untrivial to
> automate for 1.3.0 release for me since there was a lot of false
> positive matches or no matches at all. Completely regenerate past
> history also isn't good idea since it will be very heavy operation
> with a lot of JIRA requests.
>
> So the idea: to generate changes only for current branch release. Get
> the commit hash when previous release was tagged and scan commits till
> HEAD for features, JIRA issues etc. The output will be the file for
> specific branch.
>
> For example how it may looks:
> http://kxepal.iriscouch.org/docs/1.3/whatsnew/index.html
>
> By the way. This generated change log have to be stored on disk and be
> committed: how we're planning to write Upgrade notes, CVE warnings,
> Breaking changes and Migration guides for new release? Or, if not, how
> and from where the script will embed them into generated .rst file(s)?
>
> --
> ,,,^..^,,,
>
>
> On Sat, Aug 3, 2013 at 12:18 AM, Noah Slater <ns...@apache.org> wrote:
> > On 30 July 2013 20:13, Yashin Mehaboobe <ya...@gmail.com> wrote:
> >
> >>
> >> 1.User runs bootstrap
> >>
> >
> > Yep. But remember: only people building CouchDB from a Git checkout will
> > ever need to run ./boostrap. When we distribute CouchDB from our website,
> > all of the files that ./boostrap generates are included for them.
> >
> >
> >> 2.Bootstrap fetches the git commit messages too and stores in an rst
> file
> >>
> >
> > Sounds good.
> >
> >
> >> 3.The python script uses this rst file to generate documentation.
> >>
> >
> > Yep! But note: the Python script that generates the RST files is called
> by
> > make. So we have two steps here:
> >
> > ./bootstrap run on a pristine source checkout, and only run by devs. It
> > talks to Git, and generates an RST file.
> >
> > Make is configured to expect the RST file, as if it were a regular part
> of
> > the source. When you run "make", the regular rules for building the docs
> > should pick up the RST file and include it into the docs.
> >
> > --
> > NS
>



-- 
Noah Slater
https://twitter.com/nslater

Re: Project proposal for ICFOSS

Posted by Alexander Shorin <kx...@gmail.com>.
Hi Yashin,

Do you plan to generate since RST file with all changes or only just
for current release?

Why I'm asking...There is already change history for old releases that
is not possible to generate automatically: it was quite untrivial to
automate for 1.3.0 release for me since there was a lot of false
positive matches or no matches at all. Completely regenerate past
history also isn't good idea since it will be very heavy operation
with a lot of JIRA requests.

So the idea: to generate changes only for current branch release. Get
the commit hash when previous release was tagged and scan commits till
HEAD for features, JIRA issues etc. The output will be the file for
specific branch.

For example how it may looks:
http://kxepal.iriscouch.org/docs/1.3/whatsnew/index.html

By the way. This generated change log have to be stored on disk and be
committed: how we're planning to write Upgrade notes, CVE warnings,
Breaking changes and Migration guides for new release? Or, if not, how
and from where the script will embed them into generated .rst file(s)?

--
,,,^..^,,,


On Sat, Aug 3, 2013 at 12:18 AM, Noah Slater <ns...@apache.org> wrote:
> On 30 July 2013 20:13, Yashin Mehaboobe <ya...@gmail.com> wrote:
>
>>
>> 1.User runs bootstrap
>>
>
> Yep. But remember: only people building CouchDB from a Git checkout will
> ever need to run ./boostrap. When we distribute CouchDB from our website,
> all of the files that ./boostrap generates are included for them.
>
>
>> 2.Bootstrap fetches the git commit messages too and stores in an rst file
>>
>
> Sounds good.
>
>
>> 3.The python script uses this rst file to generate documentation.
>>
>
> Yep! But note: the Python script that generates the RST files is called by
> make. So we have two steps here:
>
> ./bootstrap run on a pristine source checkout, and only run by devs. It
> talks to Git, and generates an RST file.
>
> Make is configured to expect the RST file, as if it were a regular part of
> the source. When you run "make", the regular rules for building the docs
> should pick up the RST file and include it into the docs.
>
> --
> NS

Re: Project proposal for ICFOSS

Posted by Noah Slater <ns...@apache.org>.
On 30 July 2013 20:13, Yashin Mehaboobe <ya...@gmail.com> wrote:

>
> 1.User runs bootstrap
>

Yep. But remember: only people building CouchDB from a Git checkout will
ever need to run ./boostrap. When we distribute CouchDB from our website,
all of the files that ./boostrap generates are included for them.


> 2.Bootstrap fetches the git commit messages too and stores in an rst file
>

Sounds good.


> 3.The python script uses this rst file to generate documentation.
>

Yep! But note: the Python script that generates the RST files is called by
make. So we have two steps here:

./bootstrap run on a pristine source checkout, and only run by devs. It
talks to Git, and generates an RST file.

Make is configured to expect the RST file, as if it were a regular part of
the source. When you run "make", the regular rules for building the docs
should pick up the RST file and include it into the docs.

-- 
NS

Re: Project proposal for ICFOSS

Posted by Yashin Mehaboobe <ya...@gmail.com>.
Hi Noah,

I just went through the bootstrap shell script and I think I can include
the git part in the script. So basically how this would work would be like
this right?:
1.User runs bootstrap
2.Bootstrap fetches the git commit messages too and stores in an rst file
3.The python script uses this rst file to generate documentation.
Please do correct me if I've misunderstood something.


On Sun, Jul 28, 2013 at 2:47 PM, Noah Slater <ns...@apache.org> wrote:

> Yashin,
>
> I was just going through your proposal here:
>
>
> https://cwiki.apache.org/confluence/display/COMDEV/Proposal+for+CouchDB+automated+release+process+documentation+-+Yashin+Mehaboobe
>
> It occurred to me that "make" is not the best place to put this stuff.
> Anything that happens in make cannot assume the presence of Git. The only
> place you can work with Git (or in fact make network requests) is from
> ./bootstrap. Is this something you can accommodate?
>
>
> On 22 July 2013 18:08, Yashin Mehaboobe <ya...@gmail.com> wrote:
>
> > Hi,
> > I've slightly modified the proposal according to Dirkjan's suggestions.
> > I'll also concentrate more on getting viable information from the git
> > rather than the build process. Thanks for the suggestions :)
> >
> > Thanks Noah, It's a pleasure to be working with you people :)
> > I'll look through the threads you've suggested and I'm currently working
> on
> > a very naive implementation of the Git info grabber. Will keep all of you
> > posted! :)
> >
> >
> > On Sun, Jul 21, 2013 at 2:29 PM, Noah Slater <ns...@apache.org> wrote:
> >
> > > This is very good to hear. Welcome aboard, Yashin.
> > >
> > > Please familiarise yourself with the previous threads we've had on this
> > > topic:
> > >
> > >
> > >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BVOTE%5D+Git+Commit+Messages%22+order%3Adate-forward
> > >
> > >
> > >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+How+to+generate+our+release+notes%22+order%3Adate-forward
> > >
> > >
> > >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+Git+workflow%22+order%3Adate-forward
> > >
> > > Note that we do not have community consensus around how we want to
> > > generate our release notes. So one of the important parts of this work
> > will
> > > be regularly sharing your progress with the list, so that we can
> discuss
> > > things.
> > >
> > > I expect that if we adapt our Git workflow, we can probably get 80% of
> > the
> > > way there, and the other 20% will have to be done by a human each time.
> > But
> > > it would be good to see some concrete data!
> > >
> > > Very excited to see where you get with this.
> > >
> > >
> > >
> > >
> > > On 20 July 2013 16:41, Dave Cottlehuber <dc...@jsonified.com> wrote:
> > >
> > >> On 19 July 2013 16:29, Dirkjan Ochtman <di...@ochtman.nl> wrote:
> > >> > On Thu, Jul 18, 2013 at 9:21 PM, Yashin Mehaboobe <
> > yashinm92@gmail.com>
> > >> wrote:
> > >> >> I've installed couchdb on a Linux VPS. I cloned the git repository
> > and
> > >> >> compiled it from source but I haven't created any databases yet.
> I've
> > >> looked
> > >> >> through the /share/doc/src rst files as well as the sphinx conf.py
> > >> file. How
> > >> >> I plan on implementing this is to use the following to gather the
> > >> changes.
> > >> >> -The rst files from /share/doc
> > >> >> -The git commit messages obtained using git-python
> > >>
> > >> +1
> > >>
> > >> > I'd personally go with dulwich or pygit2 for this rather than
> > >> > git-python, since they're implemented as native libraries rather
> than
> > >> > wrappers around shelling out to other processes.
> > >>
> > >> Let me know which one seems best & I'll confirm it can run on windows
> > >> in our kludgy build chain, and at what version.
> > >>
> > >> A+
> > >> Dave
> > >>
> > >
> > >
> > >
> > > --
> > > NS
> > >
> >
> >
> >
> > --
> > - Yashin Mehaboobe
> >
>
>
>
> --
> NS
>



-- 
- Yashin Mehaboobe

Re: Project proposal for ICFOSS

Posted by Noah Slater <ns...@apache.org>.
Yashin,

I was just going through your proposal here:

https://cwiki.apache.org/confluence/display/COMDEV/Proposal+for+CouchDB+automated+release+process+documentation+-+Yashin+Mehaboobe

It occurred to me that "make" is not the best place to put this stuff.
Anything that happens in make cannot assume the presence of Git. The only
place you can work with Git (or in fact make network requests) is from
./bootstrap. Is this something you can accommodate?


On 22 July 2013 18:08, Yashin Mehaboobe <ya...@gmail.com> wrote:

> Hi,
> I've slightly modified the proposal according to Dirkjan's suggestions.
> I'll also concentrate more on getting viable information from the git
> rather than the build process. Thanks for the suggestions :)
>
> Thanks Noah, It's a pleasure to be working with you people :)
> I'll look through the threads you've suggested and I'm currently working on
> a very naive implementation of the Git info grabber. Will keep all of you
> posted! :)
>
>
> On Sun, Jul 21, 2013 at 2:29 PM, Noah Slater <ns...@apache.org> wrote:
>
> > This is very good to hear. Welcome aboard, Yashin.
> >
> > Please familiarise yourself with the previous threads we've had on this
> > topic:
> >
> >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BVOTE%5D+Git+Commit+Messages%22+order%3Adate-forward
> >
> >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+How+to+generate+our+release+notes%22+order%3Adate-forward
> >
> >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+Git+workflow%22+order%3Adate-forward
> >
> > Note that we do not have community consensus around how we want to
> > generate our release notes. So one of the important parts of this work
> will
> > be regularly sharing your progress with the list, so that we can discuss
> > things.
> >
> > I expect that if we adapt our Git workflow, we can probably get 80% of
> the
> > way there, and the other 20% will have to be done by a human each time.
> But
> > it would be good to see some concrete data!
> >
> > Very excited to see where you get with this.
> >
> >
> >
> >
> > On 20 July 2013 16:41, Dave Cottlehuber <dc...@jsonified.com> wrote:
> >
> >> On 19 July 2013 16:29, Dirkjan Ochtman <di...@ochtman.nl> wrote:
> >> > On Thu, Jul 18, 2013 at 9:21 PM, Yashin Mehaboobe <
> yashinm92@gmail.com>
> >> wrote:
> >> >> I've installed couchdb on a Linux VPS. I cloned the git repository
> and
> >> >> compiled it from source but I haven't created any databases yet. I've
> >> looked
> >> >> through the /share/doc/src rst files as well as the sphinx conf.py
> >> file. How
> >> >> I plan on implementing this is to use the following to gather the
> >> changes.
> >> >> -The rst files from /share/doc
> >> >> -The git commit messages obtained using git-python
> >>
> >> +1
> >>
> >> > I'd personally go with dulwich or pygit2 for this rather than
> >> > git-python, since they're implemented as native libraries rather than
> >> > wrappers around shelling out to other processes.
> >>
> >> Let me know which one seems best & I'll confirm it can run on windows
> >> in our kludgy build chain, and at what version.
> >>
> >> A+
> >> Dave
> >>
> >
> >
> >
> > --
> > NS
> >
>
>
>
> --
> - Yashin Mehaboobe
>



-- 
NS

Re: Project proposal for ICFOSS

Posted by Noah Slater <ns...@apache.org>.
Thanks Yashin!


On 22 July 2013 18:08, Yashin Mehaboobe <ya...@gmail.com> wrote:

> Hi,
> I've slightly modified the proposal according to Dirkjan's suggestions.
> I'll also concentrate more on getting viable information from the git
> rather than the build process. Thanks for the suggestions :)
>
> Thanks Noah, It's a pleasure to be working with you people :)
> I'll look through the threads you've suggested and I'm currently working on
> a very naive implementation of the Git info grabber. Will keep all of you
> posted! :)
>
>
> On Sun, Jul 21, 2013 at 2:29 PM, Noah Slater <ns...@apache.org> wrote:
>
> > This is very good to hear. Welcome aboard, Yashin.
> >
> > Please familiarise yourself with the previous threads we've had on this
> > topic:
> >
> >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BVOTE%5D+Git+Commit+Messages%22+order%3Adate-forward
> >
> >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+How+to+generate+our+release+notes%22+order%3Adate-forward
> >
> >
> >
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+Git+workflow%22+order%3Adate-forward
> >
> > Note that we do not have community consensus around how we want to
> > generate our release notes. So one of the important parts of this work
> will
> > be regularly sharing your progress with the list, so that we can discuss
> > things.
> >
> > I expect that if we adapt our Git workflow, we can probably get 80% of
> the
> > way there, and the other 20% will have to be done by a human each time.
> But
> > it would be good to see some concrete data!
> >
> > Very excited to see where you get with this.
> >
> >
> >
> >
> > On 20 July 2013 16:41, Dave Cottlehuber <dc...@jsonified.com> wrote:
> >
> >> On 19 July 2013 16:29, Dirkjan Ochtman <di...@ochtman.nl> wrote:
> >> > On Thu, Jul 18, 2013 at 9:21 PM, Yashin Mehaboobe <
> yashinm92@gmail.com>
> >> wrote:
> >> >> I've installed couchdb on a Linux VPS. I cloned the git repository
> and
> >> >> compiled it from source but I haven't created any databases yet. I've
> >> looked
> >> >> through the /share/doc/src rst files as well as the sphinx conf.py
> >> file. How
> >> >> I plan on implementing this is to use the following to gather the
> >> changes.
> >> >> -The rst files from /share/doc
> >> >> -The git commit messages obtained using git-python
> >>
> >> +1
> >>
> >> > I'd personally go with dulwich or pygit2 for this rather than
> >> > git-python, since they're implemented as native libraries rather than
> >> > wrappers around shelling out to other processes.
> >>
> >> Let me know which one seems best & I'll confirm it can run on windows
> >> in our kludgy build chain, and at what version.
> >>
> >> A+
> >> Dave
> >>
> >
> >
> >
> > --
> > NS
> >
>
>
>
> --
> - Yashin Mehaboobe
>



-- 
NS

Re: Project proposal for ICFOSS

Posted by Yashin Mehaboobe <ya...@gmail.com>.
Hi,
I've slightly modified the proposal according to Dirkjan's suggestions.
I'll also concentrate more on getting viable information from the git
rather than the build process. Thanks for the suggestions :)

Thanks Noah, It's a pleasure to be working with you people :)
I'll look through the threads you've suggested and I'm currently working on
a very naive implementation of the Git info grabber. Will keep all of you
posted! :)


On Sun, Jul 21, 2013 at 2:29 PM, Noah Slater <ns...@apache.org> wrote:

> This is very good to hear. Welcome aboard, Yashin.
>
> Please familiarise yourself with the previous threads we've had on this
> topic:
>
>
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BVOTE%5D+Git+Commit+Messages%22+order%3Adate-forward
>
>
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+How+to+generate+our+release+notes%22+order%3Adate-forward
>
>
> http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+Git+workflow%22+order%3Adate-forward
>
> Note that we do not have community consensus around how we want to
> generate our release notes. So one of the important parts of this work will
> be regularly sharing your progress with the list, so that we can discuss
> things.
>
> I expect that if we adapt our Git workflow, we can probably get 80% of the
> way there, and the other 20% will have to be done by a human each time. But
> it would be good to see some concrete data!
>
> Very excited to see where you get with this.
>
>
>
>
> On 20 July 2013 16:41, Dave Cottlehuber <dc...@jsonified.com> wrote:
>
>> On 19 July 2013 16:29, Dirkjan Ochtman <di...@ochtman.nl> wrote:
>> > On Thu, Jul 18, 2013 at 9:21 PM, Yashin Mehaboobe <ya...@gmail.com>
>> wrote:
>> >> I've installed couchdb on a Linux VPS. I cloned the git repository and
>> >> compiled it from source but I haven't created any databases yet. I've
>> looked
>> >> through the /share/doc/src rst files as well as the sphinx conf.py
>> file. How
>> >> I plan on implementing this is to use the following to gather the
>> changes.
>> >> -The rst files from /share/doc
>> >> -The git commit messages obtained using git-python
>>
>> +1
>>
>> > I'd personally go with dulwich or pygit2 for this rather than
>> > git-python, since they're implemented as native libraries rather than
>> > wrappers around shelling out to other processes.
>>
>> Let me know which one seems best & I'll confirm it can run on windows
>> in our kludgy build chain, and at what version.
>>
>> A+
>> Dave
>>
>
>
>
> --
> NS
>



-- 
- Yashin Mehaboobe

Re: Project proposal for ICFOSS

Posted by Noah Slater <ns...@apache.org>.
This is very good to hear. Welcome aboard, Yashin.

Please familiarise yourself with the previous threads we've had on this
topic:

http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BVOTE%5D+Git+Commit+Messages%22+order%3Adate-forward

http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+How+to+generate+our+release+notes%22+order%3Adate-forward

http://markmail.org/search/?q=list%3Aorg.apache.couchdb.dev+%22%5BDISCUSS%5D+Git+workflow%22+order%3Adate-forward

Note that we do not have community consensus around how we want to generate
our release notes. So one of the important parts of this work will be
regularly sharing your progress with the list, so that we can discuss
things.

I expect that if we adapt our Git workflow, we can probably get 80% of the
way there, and the other 20% will have to be done by a human each time. But
it would be good to see some concrete data!

Very excited to see where you get with this.




On 20 July 2013 16:41, Dave Cottlehuber <dc...@jsonified.com> wrote:

> On 19 July 2013 16:29, Dirkjan Ochtman <di...@ochtman.nl> wrote:
> > On Thu, Jul 18, 2013 at 9:21 PM, Yashin Mehaboobe <ya...@gmail.com>
> wrote:
> >> I've installed couchdb on a Linux VPS. I cloned the git repository and
> >> compiled it from source but I haven't created any databases yet. I've
> looked
> >> through the /share/doc/src rst files as well as the sphinx conf.py
> file. How
> >> I plan on implementing this is to use the following to gather the
> changes.
> >> -The rst files from /share/doc
> >> -The git commit messages obtained using git-python
>
> +1
>
> > I'd personally go with dulwich or pygit2 for this rather than
> > git-python, since they're implemented as native libraries rather than
> > wrappers around shelling out to other processes.
>
> Let me know which one seems best & I'll confirm it can run on windows
> in our kludgy build chain, and at what version.
>
> A+
> Dave
>



-- 
NS

Re: Project proposal for ICFOSS

Posted by Dave Cottlehuber <dc...@jsonified.com>.
On 19 July 2013 16:29, Dirkjan Ochtman <di...@ochtman.nl> wrote:
> On Thu, Jul 18, 2013 at 9:21 PM, Yashin Mehaboobe <ya...@gmail.com> wrote:
>> I've installed couchdb on a Linux VPS. I cloned the git repository and
>> compiled it from source but I haven't created any databases yet. I've looked
>> through the /share/doc/src rst files as well as the sphinx conf.py file. How
>> I plan on implementing this is to use the following to gather the changes.
>> -The rst files from /share/doc
>> -The git commit messages obtained using git-python

+1

> I'd personally go with dulwich or pygit2 for this rather than
> git-python, since they're implemented as native libraries rather than
> wrappers around shelling out to other processes.

Let me know which one seems best & I'll confirm it can run on windows
in our kludgy build chain, and at what version.

A+
Dave

Re: Project proposal for ICFOSS

Posted by Dirkjan Ochtman <di...@ochtman.nl>.
On Thu, Jul 18, 2013 at 9:21 PM, Yashin Mehaboobe <ya...@gmail.com> wrote:
> I've installed couchdb on a Linux VPS. I cloned the git repository and
> compiled it from source but I haven't created any databases yet. I've looked
> through the /share/doc/src rst files as well as the sphinx conf.py file. How
> I plan on implementing this is to use the following to gather the changes.
> -The rst files from /share/doc
> -The git commit messages obtained using git-python

I'd personally go with dulwich or pygit2 for this rather than
git-python, since they're implemented as native libraries rather than
wrappers around shelling out to other processes.

> -Information from JIRA tickets by using the python client for the JIRA REST
> API
> I'm thinking of implementing this a separate python script that will be
> integrated with the Makefile in such a way that executing "make changes"
> will execute the script.

I don't think you should worry to much about the Makefile or other
build system integration.

> Once the required data is obtained from the rst files,the JIRA tickets and
> the commit logs, it'll be written as an rst file. This intermediary rst file
> can then be used by sphinx to create HTML.
>
> Here's the path I intend to follow:
> -Create a python script that collects the data from multiple sources and
> compiles it to an intermediary form (rst?)

Output to .rst would probably be nice.

> -Configure sphinx's conf.py so that it takes the rst file and creates an
> HTML output. An alternative would be to use docutils to do the same.
> -Modify the Makefile to call the python script whenever "make changes" is
> executed.

Again, don't worry to much about the integration with build systems or
other stuff. IMO the important things to focus on are:

- Which changesets from the repository to use
- How to extract useful information from the bug tracker
- How to combine those sources into something that's easy to read and polish

Cheers,

Dirkjan

Re: Project proposal for ICFOSS

Posted by Yashin Mehaboobe <ya...@gmail.com>.
Hey,
I've submitted the proposal at
https://cwiki.apache.org/confluence/display/COMDEV/Proposal+for+CouchDB+automated+release+process+documentation+-+Yashin+Mehaboobe
Please do have a look through and tell me if you feel something should be
added or changed.

Thanks!


On Fri, Jul 19, 2013 at 9:41 AM, Yashin Mehaboobe <ya...@gmail.com>wrote:

> Alright. I'll post this as a proposal. And sorry about that. I'll make
> sure I wont make that blunder again. Thanks for pointing it out! :)
> On Jul 19, 2013 1:02 AM, "Dave Cottlehuber" <dc...@jsonified.com> wrote:
>
>> Yashin, looks great -- I'll let djc and others comment on the process.
>> One thing, we're not all guys here :-) don't feel bad, but one of the
>> important things in open development, and life in general is being
>> aware of the impact of our words on other people. I'm sure English is
>> a 2nd language for you, and don't worry about this! Gender and
>> cultural diversity is important for us.
>>
>> I'm pretty busy this & next week, but feel free to ping me (dch in
>> #couchdb-dev) if you need anything urgent.
>>
>> A+
>> Dave
>>
>> On 18 July 2013 21:21, Yashin Mehaboobe <ya...@gmail.com> wrote:
>> > Hi,
>> > Thanks everyone! :)
>> > I've installed couchdb on a Linux VPS. I cloned the git repository and
>> > compiled it from source but I haven't created any databases yet. I've
>> looked
>> > through the /share/doc/src rst files as well as the sphinx conf.py
>> file. How
>> > I plan on implementing this is to use the following to gather the
>> changes.
>> > -The rst files from /share/doc
>> > -The git commit messages obtained using git-python
>> > -Information from JIRA tickets by using the python client for the JIRA
>> REST
>> > API
>> > I'm thinking of implementing this a separate python script that will be
>> > integrated with the Makefile in such a way that executing "make changes"
>> > will execute the script.
>> > Once the required data is obtained from the rst files,the JIRA tickets
>> and
>> > the commit logs, it'll be written as an rst file. This intermediary rst
>> file
>> > can then be used by sphinx to create HTML.
>> >
>> > Here's the path I intend to follow:
>> > -Create a python script that collects the data from multiple sources and
>> > compiles it to an intermediary form (rst?)
>> > -Configure sphinx's conf.py so that it takes the rst file and creates an
>> > HTML output. An alternative would be to use docutils to do the same.
>> > -Modify the Makefile to call the python script whenever "make changes"
>> is
>> > executed.
>> >
>> > Please do correct me if I'm wrong in any of the assumptions. Looking
>> forward
>> > to working with you guys! :)
>> >
>> > On Thu, Jul 18, 2013 at 11:22 AM, Dave Cottlehuber <dc...@jsonified.com>
>> > wrote:
>> >> I wonder if Alex or Dirkjan might be interested in co-mentoring this,
>> >> I can take care of paperwork & stuff, but I'm not in a position to
>> >> offer useful technical guidance as I'm not a pythoneer yet.
>> >
>> > I'm happy to review Python code for this project.
>> >
>> > Cheers,
>> >
>> > Dirkjan
>>
>


-- 
- Yashin Mehaboobe

Re: Project proposal for ICFOSS

Posted by Yashin Mehaboobe <ya...@gmail.com>.
Hi,
Thanks everyone! :)
I've installed couchdb on a Linux VPS. I cloned the git repository and
compiled it from source but I haven't created any databases yet. I've
looked through the /share/doc/src rst files as well as the sphinx conf.py
file. How I plan on implementing this is to use the following to gather the
changes.
-The rst files from /share/doc
-The git commit messages obtained using git-python
-Information from JIRA tickets by using the python client for the JIRA REST
API
I'm thinking of implementing this a separate python script that will be
integrated with the Makefile in such a way that executing "make changes"
will execute the script.
Once the required data is obtained from the rst files,the JIRA tickets and
the commit logs, it'll be written as an rst file. This intermediary rst
file can then be used by sphinx to create HTML.

Here's the path I intend to follow:
-Create a python script that collects the data from multiple sources and
compiles it to an intermediary form (rst?)
-Configure sphinx's conf.py so that it takes the rst file and creates an
HTML output. An alternative would be to use docutils to do the same.
-Modify the Makefile to call the python script whenever "make changes" is
executed.

Please do correct me if I'm wrong in any of the assumptions. Looking
forward to working with you guys! :)
On Thu, Jul 18, 2013 at 11:22 AM, Dave Cottlehuber <dc...@jsonified.com>
wrote:
> I wonder if Alex or Dirkjan might be interested in co-mentoring this,
> I can take care of paperwork & stuff, but I'm not in a position to
> offer useful technical guidance as I'm not a pythoneer yet.

I'm happy to review Python code for this project.

Cheers,

Dirkjan

Re: Project proposal for ICFOSS

Posted by Dirkjan Ochtman <di...@ochtman.nl>.
On Thu, Jul 18, 2013 at 11:22 AM, Dave Cottlehuber <dc...@jsonified.com> wrote:
> I wonder if Alex or Dirkjan might be interested in co-mentoring this,
> I can take care of paperwork & stuff, but I'm not in a position to
> offer useful technical guidance as I'm not a pythoneer yet.

I'm happy to review Python code for this project.

Cheers,

Dirkjan

Re: Project proposal for ICFOSS

Posted by Dave Cottlehuber <dc...@jsonified.com>.
Hi Yashin,

Good timing to ask about this - we are just going into a release cycle
atm and this would be a great opportunity to see how this works at
present, vs how it could work!

I wonder if Alex or Dirkjan might be interested in co-mentoring this,
I can take care of paperwork & stuff, but I'm not in a position to
offer useful technical guidance as I'm not a pythoneer yet.

If you're not already subscribed to dev@ please do, and check the
archives[1],[2] for some relevant background, and the release pages on
the wiki. You should try setting up the development environment as
knowing how this works is a big help:
https://github.com/apache/couchdb/blob/master/DEVELOPERS . I recommend
you stick with R15B03-1 or R14B04 if you've not installed erlang
before, this will be the path of least resistance. If your OS doesn't
have a suitable erlang built in, check ErlangSolutions[4]. For
spidermonkey, use Cloudant's pre-built packages [5],[6], as the
version matters to couchdb.

[1]: https://www.google.com/search?q=site%3Amail-archives.apache.org%2Fmod_mbox%2Fcouchdb+release
[2]: https://www.google.com/search?q=site%3Amail-archives.apache.org%2Fmod_mbox%2Fcouchdb+sphinx
[3]: https://www.google.com/search?q=site:wiki.apache.org/couchdb+release
[4]: https://www.erlang-solutions.com/downloads/download-erlang-otp
[5]: http://bigcouch.cloudant.com/use
[6]: http://packages.cloudant.com/

A+
Dave

On 18 July 2013 03:04, Yashin Mehaboobe <ya...@gmail.com> wrote:
> Hi Dave,
> I'm one of the students who participated for the Apache ICFOSS program
> conducted by Luciano Resende. I was looking through the CouchDB projects and
> found one interesting . It is the automated release process documentation
> project at
> https://issues.apache.org/jira/browse/COUCHDB-1787?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel.
>
> I'd like to work on this project as part of the ICFOSS mentorship program.
> Can you please be my mentor? I have worked extensively with Python and have
> experience in using Sphinx. I hope to do this project by taking the rst file
> and generating the various outputs from that file. I intend to create a
> separate script for this task.
>
> Hoping for a positive reply! :)
>
> --
> - Yashin Mehaboobe
>