On Monday, August 19, 2013 4:57:12 PM UTC-7, RjOllos wrote: > > On Thursday, August 15, 2013 9:00:03 PM UTC-7, Sowmya Dass wrote: > >> >> >> I have a Trac and SVN setup done on my server. I have integrated SVN-Trac >> using post commit hook and post-revprop-change hook. itsWhen I perform a >> commit, *I can see the timeline on trac getting updated but the >> corresponding ticket does not get updated with any comments or change state >> *. I have tried looking around on google as well as stackoverflow for >> such issues but then almost all of them had permission issues at directory >> level on linux/unix environments which most likely is not my case. >> Apparently I do not have any permission issues in my windows environment as >> I am running trac and svn using my login. >> >> Please find the setup details mentioned below: >> >> *Server OS : Windows 2008 R2* >> >> *- Wandisco SVN server installed using :WANdiscoSubversion_1.7.8-2.exe* >> >> *- Python 2.7.5 (32 bit)* >> >> *- Trac 1.0.1* >> >> I need to have SVN-Trac integrated so that the SVN commits update trac >> ticket status and comments with the traclink. >> >> To achieve this, I have setup post commit hooks in SVN as mentioned in >> the Trac documentation at :* >> http://trac.edgewall.org/wiki/TracRepositoryAdmin#ExplicitSync*<http://trac.edgewall.org/wiki/TracRepositoryAdmin#ExplicitSync>and >> >> *http://trac.edgewall.org/wiki/CommitTicketUpdater*<http://trac.edgewall.org/wiki/CommitTicketUpdater> >> . >> >> I have done the following changes : >> >> 1. >> >> *Enabled the commit ticket updater* via the trac web interface -> >> admin -> plugins. >> 2. >> >> As per the documentation for CommitTicketUpdater on trac as mentioned >> above, I've added the following lines additionally in trac.ini present >> under trac_env/conf/trac.ini at the [components] section >> tracopt.ticket.commit_updater.committicketreferencemacro = enabled >> tracopt.ticket.commit_updater.committicketupdater = enabled >> 3. >> >> *Configured commit updater plugin* by adding the following to the >> [ticket] section of the trac.ini file >> >> [ticket] commit_ticket_update_envelope = [] >> >> commit_ticket_update_commands.close = close closed closes fix fixed >> fixes >> >> commit_ticket_update_commands.refs = addresses re references refs see >> >> commit_ticket_update_check_perms = true >> >> commit_ticket_update_notify = true >> >> >> >> I have also *created post-commit.bat and post-revprop-change.bat* and >> added it to the hooks folder in my svn repository. Please find the script >> code below : >> >> post-commit.bat >> >> @echo off >> :: >> :: Trac-SVN post commit hook for explicit synchronisation >> :: >> >> setlocal >> >> set REPOS=%1 >> set REV=%2 >> >> C:\Python27\Scripts\trac-admin.exe C:\apps\new changeset added "%REPOS%" >> "%REV%" >> >> post-revprop-change.bat >> >> @echo off >> :: >> :: Trac-SVN post revprop change hook >> :: >> >> setlocal >> >> set REPOS=%1 >> set REV=%2 >> >> C:\Python27\Scripts\trac-admin.exe C:\apps\new changeset modified "%REPOS%" >> "%REV%" >> >> I have also tried checking trac.log (set at Debug level) but there is >> nothing relevant logged in there. >> >> I have also printed the values from the post commit hook and they seem to >> be fine. >> >> Can anyone please help me fix the above mentioned issue ? >> >> Thanks ! >> >> Regards >> >> Sowmya Dass >> > > You've said you setup explicit synchronization, but could you confirm that > you've set: > [trac] > repository_sync_per_request = > > It could be that your post-commit hook is not even being called, and you > see the events on the timeline due to the implicit synchronization. > > You could also try running "changeset added" and "changeset modified" from > the command line. > > If those suggestions fail to yield a solution, we need to know if > changeset_added and changeset_modified are being called. Perhaps some > logging could be added to those methods. > > http://trac.edgewall.org/browser/tags/trac-1.0.1/tracopt/ticket/commit_updater.py?marks=153,161#L151 > > > Is this a single or multirepository setup? > > Other suggestions: > > You could try manually inserting the macro call to a ticket, just to be > sure it is really enabled. It needs to be of the form (with variables > substituted by you): > In [changeset:"%s"]: > {{{ > #!CommitTicketReference repository="%s" revision="%s" > %s > }}} > > Try setting > [ticket] > commit_ticket_update_check_perms = false > > What does the body of your commit message look like? > commit_ticket_update_envelope = [] means that it needs to be of the form: > [refs #1] > > I see from your StackOverflow post (1) that your workaround was to give TICKET_ADMIN to anonymous. Some comments on that: * The user should only need TICKET_APPEND, so if you are fine giving that permission to anonymous, the solution should be good enough. * If you don't want to give any of these permissions to anonymous and you have `commit_ticket_update_check_perms = true`, your SVN user committing the change will need to be granted at least TICKET_APPEND (2). This means you have to explicitly grant permissions in Trac for each SVN authname, or at least add the user to a group that has the permission. * If updating the ticket failed due to lack of permissions, you should see an error in the logs (3). Could you please check again?
(1) http://stackoverflow.com/questions/18229033/trac-ticket-does-not-get-updated-via-svn-hooks (2) http://trac.edgewall.org/wiki/TracPermissions (3) http://trac.edgewall.org/browser/tags/trac-1.0.1/tracopt/ticket/commit_updater.py?marks=227-228#L209 -- You received this message because you are subscribed to the Google Groups "Trac Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/trac-users. For more options, visit https://groups.google.com/groups/opt_out.
