[Iterator] Fixing the default reference type of transform_iterator (#5127)

The default reference type of transform_iterator should be boost::result_of<const UnaryFunction(Iterator::reference)> rather than boost::result_of<UnaryFunction(Iterator::reference)> since the dereference operator of transform_iterator is a const member function. Ticket #5127 describes this bug https://svn.boost.org/trac/boost/ticket/5127 and the ticket has a patch. Jeff, could you apply the patch, if it looks OK? Regards, Michel

On Wed, Apr 18, 2012 at 6:45 AM, Michel Morin <mimomorin@gmail.com> wrote:
The default reference type of transform_iterator should be boost::result_of<const UnaryFunction(Iterator::reference)> rather than boost::result_of<UnaryFunction(Iterator::reference)> since the dereference operator of transform_iterator is a const member function.
Ticket #5127 describes this bug https://svn.boost.org/trac/boost/ticket/5127 and the ticket has a patch.
Jeff, could you apply the patch, if it looks OK?
Sure, I'll try to get to it soon (presently doing an svn checkout on a new laptop). - Jeff

Jeffrey Lee Hellrung, Jr. wrote:
Ticket #5127 describes this bug https://svn.boost.org/trac/boost/ticket/5127 and the ticket has a patch.
Jeff, could you apply the patch, if it looks OK?
Sure, I'll try to get to it soon (presently doing an svn checkout on a new laptop).
Great! Here is how I set up my system (Mac OS X) for write access to the Boost subversion repository. 1. Modify the subversion configuration (~/.subversion/config) for mime-type and eol-style, according to the following link https://svn.boost.org/trac/boost/wiki/BoostSubversion#MIMETypesandEnd-Of-Lin... 2. Creating a working copy with authentication svn co https://svn.boost.org/svn/boost/trunk boost-trunk --username YOUR_USERNAME Then, when I commit, I do the following command svn commit --username YOUR_USERNAME -m "COMMIT_LOG" If the commit log contains fix #XXXX (or fixes #XXXX, fixed #XXXX) then the trac ticket #XXXX is automatically closed by the post-commit hook. The commit log is also automatically added to the trac ticket as a comment. Some libraries close trac tickets when the fix is committed to trunk, but other libraries do not close trac tickets until the fix is merged to release. For such libraries, refs #XXXX can be used to automatically add the commit log to the trac ticket as a comment (without closing the ticket). Regards, Michel

On Fri, Apr 20, 2012 at 7:35 AM, Michel Morin <mimomorin@gmail.com> wrote:
Jeffrey Lee Hellrung, Jr. wrote:
Ticket #5127 describes this bug https://svn.boost.org/trac/boost/ticket/5127 and the ticket has a patch.
Jeff, could you apply the patch, if it looks OK?
Sure, I'll try to get to it soon (presently doing an svn checkout on a new laptop).
Great!
Here is how I set up my system (Mac OS X) for write access to the Boost subversion repository.
1. Modify the subversion configuration (~/.subversion/config) for mime-type and eol-style, according to the following link
https://svn.boost.org/trac/boost/wiki/BoostSubversion#MIMETypesandEnd-Of-Lin...
2. Creating a working copy with authentication svn co https://svn.boost.org/svn/boost/trunk boost-trunk --username YOUR_USERNAME
Then, when I commit, I do the following command svn commit --username YOUR_USERNAME -m "COMMIT_LOG"
If the commit log contains fix #XXXX (or fixes #XXXX, fixed #XXXX) then the trac ticket #XXXX is automatically closed by the post-commit hook. The commit log is also automatically added to the trac ticket as a comment.
Some libraries close trac tickets when the fix is committed to trunk, but other libraries do not close trac tickets until the fix is merged to release. For such libraries, refs #XXXX can be used to automatically add the commit log to the trac ticket as a comment (without closing the ticket).
Thanks Michael, this was very informative. I applied your patch and committed (rev 78121). If I screwed something up in the process of committing, apologies and someone please let me know! A somewhat related but more general question: What is the procedure to get changes from trunk into release? I understand we wait a couple days for the tests to cycle, ensure there aren't any regressions, then merge to release...and this last merging step in SVN I'm not familiar with. I certainly don't want to mess anything up. Thanks again and in advance, - Jeff

Jeffrey Lee Hellrung, Jr. wrote:
I applied your patch and committed (rev 78121). If I screwed something up in the process of committing, apologies and someone please let me know!
Thanks for committing, Jeff!
A somewhat related but more general question: What is the procedure to get changes from trunk into release? I understand we wait a couple days for the tests to cycle, ensure there aren't any regressions, then merge to release...and this last merging step in SVN I'm not familiar with. I certainly don't want to mess anything up.
Sorry, I don't have any knowledge about merging :/ Boost wiki has some information on merging: https://svn.boost.org/trac/boost/wiki/ImprovingPractices#Mergingchangesfromd... but it only says about TortoiseSVN. Can some Boost developers provide the information on * how to merge into the release branch via svn * what should we care about when merging ? Regards, Michel

On Sat, Apr 21, 2012 at 10:41 PM, Michel Morin <mimomorin@gmail.com> wrote:
Jeffrey Lee Hellrung, Jr. wrote:
I applied your patch and committed (rev 78121). If I screwed something up in the process of committing, apologies and someone please let me know!
Thanks for committing, Jeff!
A somewhat related but more general question: What is the procedure to get changes from trunk into release? I understand we wait a couple days for the tests to cycle, ensure there aren't any regressions, then merge to release...and this last merging step in SVN I'm not familiar with. I certainly don't want to mess anything up.
Sorry, I don't have any knowledge about merging :/
Boost wiki has some information on merging:
https://svn.boost.org/trac/boost/wiki/ImprovingPractices#Mergingchangesfromd... but it only says about TortoiseSVN.
That might be good enough, as I am currently using TortoiseSVN. Can some Boost developers provide the information on
* how to merge into the release branch via svn * what should we care about when merging ?
If anyone can just quickly confirm that the wiki is up-to-date and complete regarding merging (maybe at least as far as TortoiseSVN is concerned), that would help, too. - Jeff

Le 22/04/12 07:54, Jeffrey Lee Hellrung, Jr. a écrit :
On Sat, Apr 21, 2012 at 10:41 PM, Michel Morin<mimomorin@gmail.com> wrote:
Jeffrey Lee Hellrung, Jr. wrote:
I applied your patch and committed (rev 78121). If I screwed something up in the process of committing, apologies and someone please let me know! Thanks for committing, Jeff!
A somewhat related but more general question: What is the procedure to get changes from trunk into release? I understand we wait a couple days for the tests to cycle, ensure there aren't any regressions, then merge to release...and this last merging step in SVN I'm not familiar with. I certainly don't want to mess anything up. Sorry, I don't have any knowledge about merging :/
Boost wiki has some information on merging:
https://svn.boost.org/trac/boost/wiki/ImprovingPractices#Mergingchangesfromd... but it only says about TortoiseSVN.
That might be good enough, as I am currently using TortoiseSVN.
Can some Boost developers provide the information on
* how to merge into the release branch via svn * what should we care about when merging ?
If anyone can just quickly confirm that the wiki is up-to-date and complete regarding merging (maybe at least as far as TortoiseSVN is concerned), that would help, too.
Hi, I don't know for TurtoiseSVN, but what do you think of the adding the CLI as *Merge * * *Command line: * o *Start with a working copy of https://svn.boost.org/svn/boost/branches/release. * o *Go to the release branch directory where the merge will take place. * *cd<rel>/<directory_path> * o *Merge the directory or a specific file from trunk * *svn merge<trunk>/<directory_path>@HEAD svn merge<trunk>/<directory_path>/<file_name>@HEAD* * TortoiseSVN: /As before/ Inspect resulting working copy for correctness. *Run the test with as many compilers as you can. * Commit working copy changes. Maybe someone has a better way. Best, Vicente

On Sun, Apr 22, 2012 at 2:00 AM, Vicente J. Botet Escriba < vicente.botet@wanadoo.fr> wrote:
Le 22/04/12 07:54, Jeffrey Lee Hellrung, Jr. a écrit :
On Sat, Apr 21, 2012 at 10:41 PM, Michel Morin<mimomorin@gmail.com> wrote:
Jeffrey Lee Hellrung, Jr. wrote:
I applied your patch and committed (rev 78121). If I screwed something up in the process of committing, apologies and someone please let me know!
Thanks for committing, Jeff!
A somewhat related but more general question: What is the procedure to
get
changes from trunk into release? I understand we wait a couple days for
the
tests to cycle, ensure there aren't any regressions, then merge to release...and this last merging step in SVN I'm not familiar with. I certainly don't want to mess anything up.
Sorry, I don't have any knowledge about merging :/
Boost wiki has some information on merging:
https://svn.boost.org/trac/**boost/wiki/ImprovingPractices#** Mergingchangesfromdevelopmentt**runktoreleasebranch<https://svn.boost.org/trac/boost/wiki/ImprovingPractices#Mergingchangesfromdevelopmenttrunktoreleasebranch> but it only says about TortoiseSVN.
That might be good enough, as I am currently using TortoiseSVN.
Can some Boost developers provide the information on
* how to merge into the release branch via svn * what should we care about when merging ?
If anyone can just quickly confirm that the wiki is up-to-date and complete regarding merging (maybe at least as far as TortoiseSVN is concerned), that would help, too.
Hi,
I don't know for TurtoiseSVN, but what do you think of the adding the CLI as
*Merge *
* *Command line: * o *Start with a working copy of https://svn.boost.org/svn/**boost/branches/release<https://svn.boost.org/svn/boost/branches/release>. * o *Go to the release branch directory where the merge will take place. *
*cd<rel>/<directory_path> *
o *Merge the directory or a specific file from trunk *
*svn merge<trunk>/<directory_path>@**HEAD
svn merge<trunk>/<directory_path>/**<file_name>@HEAD*
* TortoiseSVN: /As before/
Inspect resulting working copy for correctness. *Run the test with as many compilers as you can. * Commit working copy changes.
Maybe someone has a better way.
Best, Vicente
The TortoiseSVN description seems a bit out-of-date; going off the wiki's instructions, I had to trial-and-error a few options before I got it right. (It doesn't help that all operations seem really really slow...not sure if this is an SVN problem or internet connection problem...) For one thing, it seems that the semantics of the "From URL" and "To URL" have changed, or were incorrect to begin with (the latter making more sense to me). The present TortoiseSVN entry has release as From and trunk as To, which seems backward to me and appeared backward from the present TortoiseSVN interface. Okay if I leave the present TortoiseSVN entry, marked for older versions, and add another entry for TortoiseSVN 1.7.6+? Or maybe just scrap the old TortoiseSVN entry and replace it? * TortoiseSVN: * Start with a working copy of https://svn.boost.org/svn/boost/branches/release. * Select the directory and/or files to be merged. * Right-click selection for context menu, and "TortoiseSVN" > "Merge..." * For recent versions of TortoiseSVN (e.g., 1.7.6+) * Select "Merge a range of revisions"; click "Next >". * Populate "URL to merge from": https://svn.boost.org/svn/boost/trunk/. .. * Leave "Revision range to merge" empty to merge all revisions (typical). * Click "Next >". * Click "Test merge" to be sure the setup is correct. * Click "Merge". (Note that this modifies your working copy, not the repository.) * For older versions of TortoiseSVN * From: https://svn.boost.org/svn/boost/branches/release/... * To: '''Uncheck''' the Use "From:" URL checkbox. * To: https://svn.boost.org/svn/boost/trunk/... * To: Head revision * Click "Dry run" button to be sure setup is correct. * Click "Merge". (Note that this modifies your working copy, not the repository.) - Jeff
participants (3)
-
Jeffrey Lee Hellrung, Jr.
-
Michel Morin
-
Vicente J. Botet Escriba