I have a new install of 1.0rc1 which took me much longer than it should to 
get working but I'm not very familiar with python or apache so I spent more 
time than most reading wiki pages and trying to follow the directions.  

The site seems to be working fine and I am able to do all of the things I 
would expect, browse source, create tickets, add users and the like.  But 
when I push a new commit, the commit message is part of the repository 
which I can browse, but the ticket does not get changed in any way.  I have 
been over my configuration several times and believe I have everything set 
up properly.  But if that were true I wouldn't be having these issues.

Rather that try to list all of things I have tried, I will try to provide 
the data required about my environment with this post.  With any luck, 
something will be obvious to someone with experience in these matters.

Sorry for the lengthy post.  I'm sure there is a right way to do this but 
since this is my first post to a list like this I'm learning as I go.

Thanks,
AustinPowered

------ From About Trac
 System Information PackageVersion  Trac 1.0rc1 Babel 0.9.4 Docutils 0.6 
Genshi 0.6 (without speedups) mod_wsgi 3.2 (WSGIProcessGroup 
WSGIApplicationGroup phineas.lab.rsignia.local|/trac) Pygments 1.1.1 
pysqlite 2.4.1 Python 2.6.6 (r266:84292, Dec 7 2011, 20:48:22) [GCC 4.4.6 
20110731 (Red Hat 4.4.6-3)] setuptools 0.6 SQLite 3.6.20 jQuery1.7.2



 ----- log/trac.log entry just after git push - 
2012-09-07 16:48:03,832 Trac[default_workflow] DEBUG: Workflow actions at 
initialization: {u'resolve': {u'operations': [u'set_resolution'], 'name': 
u'resolve', 'default': 0, 'newstate': u'closed', 'oldstates': [u'new', 
u'assigned', u'accepted', u'reopened'], u'permissions': 
[u'TICKET_MODIFY']}, u'accept': {u'operations': [u'set_owner_to_self'], 
'name': u'accept', 'default': 0, 'newstate': u'accepted', 'oldstates': 
[u'new', u'assigned', u'accepted', u'reopened'], u'permissions': 
[u'TICKET_MODIFY']}, u'leave': {u'operations': [u'leave_status'], 'name': 
u'leave', u'default': 1, 'newstate': u'*', 'oldstates': [u'*'], 
'permissions': []}, u'reopen': {u'operations': [u'del_resolution'], 'name': 
u'reopen', 'default': 0, 'newstate': u'reopened', 'oldstates': [u'closed'], 
u'permissions': [u'TICKET_CREATE']}, u'reassign': {u'operations': 
[u'set_owner'], 'name': u'reassign', 'default': 0, 'newstate': u'assigned', 
'oldstates': [u'new', u'assigned', u'accepted', u'reopened'], 
u'permissions': [u'TICKET_MODIFY']}, '_reset': {'operations': 
['reset_workflow'], 'name': 'reset', 'default': 0, 'newstate': 'new', 
'oldstates': [], 'permissions': []}}

2012-09-07 16:48:03,837 Trac[api] DEBUG: Event changeset_added on relay for 
changesets (u'52d454ae11ab3eb41fd513c98d797ae9f0da1a28',)
2012-09-07 16:48:03,847 Trac[git_fs] INFO: detected GIT version 1.7.1
2012-09-07 16:48:03,848 Trac[PyGIT] DEBUG: PyGIT.Storage instance 43519760 
constructed
2012-09-07 16:48:03,848 Trac[PyGIT] DEBUG: requested weak PyGIT.Storage 
instance 43519760 for '/var/lib/gitosis/repositories/riptide.git'
2012-09-07 16:48:03,848 Trac[git_fs] DEBUG: disabled CachedRepository for 
'/var/lib/gitosis/repositories/riptide.git'
2012-09-07 16:48:03,849 Trac[PyGIT] DEBUG: PyGIT.Storage instance 44146832 
constructed
2012-09-07 16:48:03,850 Trac[PyGIT] DEBUG: requested weak PyGIT.Storage 
instance 44146832 for '/var/lib/gitosis/repositories/jupiter.git'
2012-09-07 16:48:03,850 Trac[git_fs] DEBUG: disabled CachedRepository for 
'/var/lib/gitosis/repositories/jupiter.git'
2012-09-07 16:48:03,857 Trac[PyGIT] DEBUG: triggered rebuild of commit tree 
db for 43519760
2012-09-07 16:48:03,890 Trac[PyGIT] DEBUG: rebuilt commit tree db for 
43519760 with 28 entries (took 33.2 ms)
2012-09-07 16:48:03,901 Trac[api] DEBUG: Event changeset_added on relay for 
revision 52d454ae11ab3eb41fd513c98d797ae9f0da1a28


I'm running on CentOS 6.3 x86_64

gitosis.noarch                                             
0.2-9.20080825git.el6                                              @epel
httpd.x86_64                                                    
2.2.15-15.el6.centos.1                                        @base

There is a group apache and a group gitosis.  User apache is a memeber of 
gitosis group and gitosis user is a member of apache.

TRAC_ENV_PARENT_DIR = '/usr/share/trac/projects'
# chmod -R 775 /usr/share/trac/projects
# chown -R apache.apache /usr/share/trac
# chmod -R 775 /var/lib/gitosis/repositoires
# chown -R gitosis.gitosis /var/lib/gitosis/repositories


------- The changes I made to /etc/httpd/conf/httpd.conf
# WSGI support for Trac server
WSGIScriptAlias /trac /usr/share/trac/cgi-bin/trac.wsgi

<Directory /usr/share/trac/projects>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

#
# Setup Digest Authentication
#
<LocationMatch "/trac/[^/]+/login">
    AuthType Digest
    AuthName "trac"
    AuthDigestDomain /trac
    AuthUserFile /usr/share/trac/trac.htpasswd
    Require valid-user                 
</LocationMatch>

# cat cgi-bin/trac.wsgi
#!/usr/bin/python
#
# This version taken from 
http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac
#
import sys
sys.stdout = sys.stderr

import os
os.environ['TRAC_ENV_PARENT_DIR'] = '/usr/share/trac/projects'
os.environ['PYTHON_EGG_CACHE'] = '/usr/share/trac/eggs'

import trac.web.main

application = trac.web.main.dispatch_request



# cat /var/lib/gitosis/repositories/riptide.git/hooks/post-receive
#! /usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright (c) 2011 Grzegorz SobaƄski
#               2012 Juan Fernando Jaramillo
#
# Version: 2.1
#
# Git post receive script developed for mlabs
# - adds the commits to trac
# based on post-receive-email from git-contrib
#

import re
import os
import sys
from subprocess import Popen, PIPE, call

# config
TRAC_ENV = "/usr/share/trac/projects/relay"
GIT_PATH = "/usr/bin/git"
TRAC_ADMIN = "/usr/bin/trac-admin"    # I have other that doesn't work in  
/usr/bin/trac-admin
REPO_NAME = "relay"   # The original one have no "", I change it and work
LOG_FILE = "/tmp/tracgitplugin.log"

# set PYTHON_EGG_CACHE if not default
os.environ['PYTHON_EGG_CACHE'] = '/usr/share/trac/eggs'

# if you are using gitolite or sth similar, you can get the repo name from 
environemt
# REPO_NAME = os.getenv('GL_REPO')

def log(v):
    if LOG_FILE != "":
        f = open(LOG_FILE, "a+")
        print(v)
        f.close()

# communication with git

def call_git(command, args, input=None):
    return Popen([GIT_PATH, command] + args, stdin=PIPE, 
stdout=PIPE).communicate(input)[0]


def get_new_commits(ref_updates):
    """ Gets a list uf updates from git running post-receive,
    we want the list of new commits to the repo, that are part
    of the push. Even if the are in more then one ref in the push.

    Basically, we are running:
    git rev-list new1 ^old1 new2 ^old2 ^everything_else

    It returns a list of commits"""

    all_refs = set(call_git('for-each-ref', 
['--format=%(refname)']).splitlines())
    commands = []
    for old, new, ref in ref_updates:
        # branch delete, skip it
        if re.match('0*$', new):
            continue

        commands += [new]
        all_refs.discard(ref)

        if not re.match('0*$', old):
            # update
            commands += ["^%s" % old]
        # else: new - do nothing more

    for ref in all_refs:
        commands += ["^%s" % ref]

    new_commits = call_git('rev-list', ['--stdin', '--reverse'], 
'\n'.join(commands)).splitlines()
    return new_commits


def handle_trac(commits):
    if not (os.path.exists(TRAC_ENV) and os.path.isdir(TRAC_ENV)):
        print "Trac path (%s) is not a directory." % TRAC_ENV

    if len(commits) == 0:
        return

    args = [TRAC_ADMIN, TRAC_ENV, "changeset", "added", REPO_NAME] + 
commits 
    log(args)
    call(' '.join(args), shell = True)

# main
if __name__ == '__main__':
    # gather all commits, to call trac-admin only once
    lines = sys.stdin.readlines()
    log(lines)
    updates = [line.split() for line in lines]
    commits = get_new_commits(updates)
    log(commits)

    # call trac-admin
    handle_trac(commits)

------------ trac.ini
# cat projects/relay/conf/trac.ini
# -*- coding: utf-8 -*-

[account-manager]
allow_delete_account = false
force_passwd_change = False
generated_password_length = 8
htdigest_realm = Trac
htpasswd_hash_type = md5
login_opt_list = false
password_file = /usr/share/trac/trac.htpasswd
password_store = HtDigestStore
persistent_sessions = true
refresh_passwd = False
reset_password = false
user_lock_max_time = 0
verify_email = False

[attachment]
max_size = 262144
max_zip_size = 2097152
render_unsafe_content = false

[browser]
color_scale = True
downloadable_paths = /trunk, /branches/*, /tags/*
hide_properties = svk:merge
intermediate_color = 
intermediate_point = 
newest_color = (255, 136, 136)
oldest_color = (136, 136, 255)
oneliner_properties = trac:summary
render_unsafe_content = false
wiki_properties = trac:description

[changeset]
max_diff_bytes = 10000000
max_diff_files = 0
wiki_format_messages = true

[components]
acct_mgr.admin.accountmanageradminpages = enabled
acct_mgr.api.accountmanager = enabled
acct_mgr.db.sessionstore = enabled
acct_mgr.htfile.htdigeststore = enabled
acct_mgr.pwhash.htdigesthashmethod = enabled
iniadmin.iniadmin.iniadminplugin = enabled
tracopt.ticket.clone.ticketclonebutton = enabled
tracopt.ticket.commit_updater.committicketreferencemacro = enabled
tracopt.ticket.commit_updater.committicketupdater = enabled
tracopt.ticket.deleter.ticketdeleter = enabled
tracopt.versioncontrol.git.* = enabled

[header_logo]
alt = Rsignia Relay Trac Site
height = -1
link = http://phineas/trac/relay
src = trac/htdocs/site/Black_Logo.png
width = -1

[inherit]
htdocs_dir = ../htdocs
plugins_dir = ../plugins
templates_dir = ../templates

[logging]
log_file = trac.log
log_level = DEBUG
log_type = file

[milestone]
stats_provider = DefaultTicketGroupStatsProvider

[mimeviewer]
max_preview_size = 262144
mime_map = text/x-dylan:dylan, text/x-idl:ice, text/x-ada:ads:adb
mime_map_patterns = text/plain:README|INSTALL|COPYING.*
pygments_default_style = trac
pygments_modes = 
tab_width = 8
treat_as_binary = application/octet-stream, application/pdf, 
application/postscript, application/msword,application/rtf,

[notification]
admit_domains = 
always_notify_owner = false
always_notify_reporter = false
always_notify_updater = true
ambiguous_char_width = single
batch_subject_template = $prefix Batch modify: $tickets_descr
email_sender = SmtpEmailSender
ignore_domains = 
mime_encoding = none
sendmail_path = sendmail
smtp_always_bcc = 
smtp_always_cc = 
smtp_default_domain = 
smtp_enabled = false
smtp_from = trac@localhost
smtp_from_author = false
smtp_from_name = 
smtp_password = 
smtp_port = 25
smtp_replyto = trac@localhost
smtp_server = localhost
smtp_subject_prefix = __default__
smtp_user = 
ticket_subject_template = $prefix #$ticket.id: $summary
use_public_cc = false
use_short_addr = false
use_tls = false

[project]
admin = 
admin_trac_url = .
descr = Relay Development Project
footer = Visit the Trac open source project at<br /><a 
href="http://trac.edgewall.org/";>http://trac.edgewall.org/</a>
icon = common/trac.ico
name = relay
url = 

[query]
default_anonymous_query = status!=closed&cc~=$USER
default_query = status!=closed&owner=$USER
items_per_page = 100
ticketlink_query = ?status=!closed

[report]
items_per_page = 100
items_per_page_rss = 0

[repositories]
jupiter.description = "Project Test Tools Repositories"
jupiter.dir = /var/lib/gitosis/repositories/jupiter.git
relay.description = "Relay Repositories"
relay.dir = /var/lib/gitosis/repositories/riptide.git

[revisionlog]
default_log_limit = 100
graph_colors = ['#cc0', '#0c0', '#0cc', '#00c', '#c0c', '#c00']

[roadmap]
stats_provider = DefaultTicketGroupStatsProvider

[search]
min_query_length = 3

[ticket]
commit_ticket_update_check_perms = false
commit_ticket_update_envelope = 
commit_ticket_update_notify = false
default_cc = 
default_component = 
default_description = 
default_keywords = 
default_milestone = 
default_owner = < default >
default_priority = major
default_resolution = fixed
default_severity = 
default_summary = 
default_type = defect
default_version = 
max_comment_size = 262144
max_description_size = 262144
preserve_newlines = default
restrict_owner = false
workflow = ConfigurableTicketWorkflow

[ticket-workflow]
accept = new,assigned,accepted,reopened -> accepted
accept.operations = set_owner_to_self
accept.permissions = TICKET_MODIFY
leave = * -> *
leave.default = 1
leave.operations = leave_status
reassign = new,assigned,accepted,reopened -> assigned
reassign.operations = set_owner
reassign.permissions = TICKET_MODIFY
reopen = closed -> reopened
reopen.operations = del_resolution
reopen.permissions = TICKET_CREATE
resolve = new,assigned,accepted,reopened -> closed
resolve.operations = set_resolution
resolve.permissions = TICKET_MODIFY

[timeline]
abbreviated_messages = True
changeset_collapse_events = false
changeset_long_messages = false
changeset_show_files = 0
default_daysback = 30
max_daysback = 90
newticket_formatter = oneliner
ticket_show_details = false

[trac]
auth_cookie_lifetime = 0
auth_cookie_path = 
authz_file = 
authz_module_name = 
auto_preview_timeout = 2.0
auto_reload = False
backup_dir = db
base_url = 
check_auth_ip = false
database = sqlite:db/trac.db
debug_sql = False
default_charset = utf-8
default_date_format = 
default_dateinfo_format = relative
default_language = en_US
default_timezone = 
genshi_cache_size = 128
htdocs_location = 
ignore_auth_case = false
jquery_location = 
jquery_ui_location = 
jquery_ui_theme_location = 
mainnav = wiki, timeline, roadmap, browser, tickets, newticket, search
metanav = login, logout, prefs, help, about
mysqldump_path = mysqldump
never_obfuscate_mailto = false
permission_policies = DefaultPermissionPolicy, LegacyAttachmentPolicy
permission_store = DefaultPermissionStore
pg_dump_path = pg_dump
repository_dir = 
repository_sync_per_request = 
repository_type = git
resizable_textareas = true
secure_cookies = False
show_email_addresses = false
show_ip_addresses = false
timeout = 20
use_base_url_for_redirect = False

[versioncontrol]
allowed_repository_dir_prefixes = 

[wiki]
ignore_missing_pages = false
max_size = 262144
render_unsafe_content = false
safe_schemes = cvs, file, ftp, git, irc, http, https, news, sftp, smb, ssh, 
svn, svn+ssh
split_page_names = false



-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/trac-users/-/yHBpvT6luPAJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/trac-users?hl=en.

Reply via email to