Ticket #364 (closed maintenance: fixed)
Migrate from SVN to Git
Reported by: | jim | Owned by: | jim |
---|---|---|---|
Priority: | major | Milestone: | PSE |
Component: | Trac | Keywords: | |
Cc: | chris, ed, laura | Estimated Number of Hours: | 5.0 |
Add Hours to Ticket: | 0 | Billable?: | yes |
Total Hours: | 11.53 |
Description (last modified by chris) (diff)
SVN smells. Git rules.
OK, so we need to get a publicly available Git repo in place and move to a modern workflow after importing the existing SVN stuff.
Urgent tasks:
- Chris: Tell me where you want to put the master repo? In kiwi:/web or somewhere else?
- Chris: add Trac Git plugin: http://trac-hacks.org/wiki/GitPlugin
- Jim: import from svn repo to new git master using attached users mapping and this process: http://www.jonmaddox.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/ (except it's git svn not git-svn per the article)
- Jim & Chris: look into best way to clone the repo over the existing structure without affecting the LIVE site
Then later:
- Jim: look at best workflow practices for importing direct from Drupal.org for core and contrib, plus managing the code in a multi-developer environment.
- Jim: update documentation with new Git workflow
- Chris: once proven to work, remove SVN cruft from sites directories.
The rough plan:
- A new Transition git master repository lives on Kiwi as the SVN repo does today.
- Developers clone it onto their machine, do changes, push/commit them back to master
- DEV and TEST sites use a plain git pull from the master
- LIVE uses tagged releases only.
Comments, issues, ideas?
Attachments
Change History
comment:1 Changed 5 years ago by jim
Chris: can you check the users.txt file and ensure your email and the list of users is ok please?
comment:2 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.1
- Total Hours changed from 0.0 to 0.1
Chris: Tell me where you want to put the master repo? In kiwi:/web or somewhere else?
How about /web/tech.transitionnetwork.org/git.
Chris: can you check the users.txt file and ensure your email and the list of users is ok please?
Looks fine, the trac / svn users we have though are in /web/tech.transitionnetwork.org/.htpasswd
chris jim john ed laura daniel ben
Though of course this was for using tickets rather then svn, I'll read up about the Git plugin...
comment:3 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.05
- Total Hours changed from 0.1 to 0.15
Hmmm
"As this is for now just a proof of concept implementation"
http://trac-hacks.org/wiki/GitPlugin
Think I need to first I look at the alternative ways us plugging in git to work out the best.
comment:4 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.05
- Total Hours changed from 0.15 to 0.2
OK I'll set up the repo at kiwi:/web/tech.transitionnetwork.org/git and fill it from SVN in a minute...
Trac: To be honest, Trac integration is a 'nice to have' rather than a requirement so no worries there for now.
comment:5 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.72
- Total Hours changed from 0.2 to 0.92
See that this is the main one http://trac-hacks.org/wiki/GitPlugin so the install:
easy_install http://github.com/hvr/trac-git-plugin/tarball/trac-0.11 Downloading http://github.com/hvr/trac-git-plugin/tarball/trac-0.11 Processing trac-0.11 Running hvr-trac-git-plugin-d5a8c77/setup.py -q bdist_egg --dist-dir /tmp/easy_install-3PTCqD/hvr-trac-git-plugin-d5a8c77/egg-dist-tmp-tLiFh2 warning: install_data: setup script did not provide a directory for 'COPYING' -- installing right in 'build/bdist.linux-x86_64/egg' warning: install_data: setup script did not provide a directory for 'README' -- installing right in 'build/bdist.linux-x86_64/egg' zip_safe flag not set; analyzing archive contents... Adding TracGit 0.11.0.2 to easy-install.pth file Installed /usr/local/lib/python2.6/site-packages/TracGit-0.11.0.2-py2.6.egg Processing dependencies for TracGit==0.11.0.2 Searching for Trac>=0.11dev,==0.11b1,==0.11b2,==0.11rc1,==0.11rc2,==0.11 Reading http://pypi.python.org/simple/Trac/ Reading http://trac.edgewall.org/ Reading http://trac.edgewall.org/wiki/TracDownload Reading http://projects.edgewall.com/trac Reading http://projects.edgewall.com/trac/wiki/TracDownload Reading http://trac.edgewall.com/ Best match: Trac 0.12.2 Downloading ftp://ftp.edgewall.com/pub/trac/Trac-0.12.2.zip Processing Trac-0.12.2.zip Running Trac-0.12.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-OuJMfw/Trac-0.12.2/egg-dist-tmp-R5UUX9 Genshi is needed by Trac setup, pre-installing Searching for Genshi>=0.6 Reading http://pypi.python.org/simple/Genshi/ Reading http://genshi.edgewall.org/ Reading http://genshi.edgewall.org/wiki/Download Best match: Genshi 0.6 Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.6-py2.6.egg Processing Genshi-0.6-py2.6.egg Moving Genshi-0.6-py2.6.egg to /tmp/easy_install-OuJMfw/Trac-0.12.2 Installed /tmp/easy_install-OuJMfw/Trac-0.12.2/Genshi-0.6-py2.6.egg Adding Trac 0.12.2 to easy-install.pth file Installing trac-admin script to /usr/local/bin Installing tracd script to /usr/local/bin Installed /usr/local/lib/python2.6/site-packages/Trac-0.12.2-py2.6.egg Searching for Genshi>=0.6 Reading http://pypi.python.org/simple/Genshi/ Reading http://genshi.edgewall.org/ Reading http://genshi.edgewall.org/wiki/Download Best match: Genshi 0.6 Downloading http://ftp.edgewall.com/pub/genshi/Genshi-0.6-py2.6.egg Processing Genshi-0.6-py2.6.egg Moving Genshi-0.6-py2.6.egg to /usr/local/lib/python2.6/site-packages Adding Genshi 0.6 to easy-install.pth file Installed /usr/local/lib/python2.6/site-packages/Genshi-0.6-py2.6.egg Finished processing dependencies for TracGit==0.11.0.2 cd /web/tech.transitionnetwork.org/trac/plugins
However this has installed the .egg files in /usr/local/lib/python2.6/site-packages/ and not /web/tech.transitionnetwork.org/trac/plugins.
Changes to /web/tech.transitionnetwork.org/trac/conf/trac.ini:
[trac] #repository_dir = /web/tech.transitionnetwork.org/svn #repository_type = svn repository_dir = /web/tech.transitionnetwork.org/git repository_type = git [git] ## let Trac cache meta-data via CachedRepository wrapper; default: false cached_repository = true ## disable automatic garbage collection for in-memory commit-tree cache; default: false persistent_cache = true ## length revision sha-sums should be tried to be abbreviated to (must be >= 4 and <= 40); default: 7 shortrev_len = 6 ## (0.12.0.3+) minimum length for which hex-strings will be interpreted as commit ids in wiki context; default: 40 wiki_shortrev_len = 7 ## executable file name (in case of doubt use absolute path!) of git binary; default: 'git' git_bin = /usr/bin/git ## (0.12.0.5+) define charset encoding of paths stored within git repository; default: 'utf-8' #git_fs_encoding = latin1 ## (0.12.0.3+) enable reverse mapping of git email addresses to trac user ids; default: false #trac_user_rlookup = true ## (0.12.0.3+) use git-committer id instead of git-author id as changeset owner; default: true #use_committer_id = false ## (0.12.0.3+) use git-committer timestamp instead of git-author timestamp as changeset time; default: true #use_committer_time = false
The errors now in syslog include:
Oct 21 14:09:55 localhost <feff><11>Trac[web_ui] ERROR: Timeline event provider failed: #012Traceback (most recent call last):#012 File "/usr/lib/python2.6/dist-packages/trac/timeline/web_ui.py", line 164, in process_request#012 filters):#012 File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/web_ui/changeset.py", line 818, in get_timeline_events#012 repos = self.env.get_repository(req.authname)#012 File "/usr/lib/python2.6/dist-packages/trac/env.py", line 305, in get_repository#012 return RepositoryManager(self).get_repository(authname)#012 File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py", line 149, in get_repository#012 name=self.repository_type))#012TracError: Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled?
Oct 21 14:11:52 localhost <feff><11>Trac[web_ui] ERROR: Timeline event provider failed: #012Traceback (most recent call last):#012 File "/usr/lib/python2.6/dist-packages/trac/timeline/web_ui.py", line 164, in process_request#012 filters):#012 File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/web_ui/changeset.py", line 818, in get_timeline_events#012 repos = self.env.get_repository(req.authname)#012 File "/usr/lib/python2.6/dist-packages/trac/env.py", line 305, in get_repository#012 return RepositoryManager(self).get_repository(authname)#012 File "/usr/lib/python2.6/dist-packages/trac/versioncontrol/api.py", line 149, in get_repository#012 name=self.repository_type))#012TracError: Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled?
Oct 21 14:13:03 localhost <feff><11>Trac[loader] ERROR: Skipping "Trac 0.12.2": (version conflict "VersionConflict: (Trac 0.11.7 (/usr/lib/python2.6/dist-packages), Requirement.parse('Trac==0.12.2'))")
I think this is because Trac was initially installed on Lenny with a different version of Python and I think I now need to look at a Trac upgrade to get everything working...
comment:6 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.5
- Total Hours changed from 0.92 to 1.42
OK, on Kiwi I sudo apt-get install git-svn so we have the tool to move from svn to git. I also added Ed to the users.txt I attached... Everyone else is either not involved or on the list.
Then I added /web/tech.transitionnetwork.org/git}} to hold the repos - My plan is to have a git repo for each project, so I added {{{www_tmp (which will be converted to 'www' when I'm done...) Later on I'll do import of be one going in for the sharing engine too. When the PSE stuff starts, it can go in its own repo, and this means if we get a bunch of developers on board we could maybe move it to GitHub? for better mass access... Maybe!
Set up repo in www_tmp with:
sudo git svn init https://tech.transitionnetwork.org/svn/www/ --no-metadata
Told git where to look for users and ran the import:
sudo git config svn.authorsfile ../users.txt sudo git svn fetch
It's coming in now... more soon.
comment:7 Changed 5 years ago by jim
It's pulling in all the releases too, which are all but obsolete... Once it completes I'll strip back the old ones and leave just the current. From here we can move to standard branch and tagging.
comment:8 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.5
- Total Hours changed from 1.42 to 1.92
So, doing a manual install to make sure we have the right version of the git plugin:
cd /web/tech.transitionnetwork.org git clone git://github.com/hvr/trac-git-plugin.git cd trac-git-plugin/ git checkout trac-0.11 Branch trac-0.11 set up to track remote branch trac-0.11 from origin. Switched to a new branch 'trac-0.11' python setup.py bdist_egg cp dist/TracGit-0.11.0.2-py2.6.egg ../trac/plugins/
But I'm not sure git repo is ready?
Trac errors if this line is uncommented in the config file:
#repository_dir = /web/tech.transitionnetwork.org/git
comment:9 Changed 5 years ago by chris
OK, I'll come back to this when the repo is ready.
Half term just started....
comment:10 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.2
- Total Hours changed from 1.92 to 2.12
OK my SSH connection failed so it took a little longer...
Cloned the repo to clean it, looks ok to me:
jim@kiwi:/web/tech.transitionnetwork.org/git/www_tmp$ cd .. jim@kiwi:/web/tech.transitionnetwork.org/git$ sudo git clone www_tmp/ www Cloning into www... done. jim@kiwi:/web/tech.transitionnetwork.org/git$ cd www jim@kiwi:/web/tech.transitionnetwork.org/git/www$ ls CHANGELOG.txt favicon.ico INSTALL.mysql.txt INSTALL.txt misc profiles sites UPGRADE.txt COPYRIGHT.txt includes INSTALL.pgsql.txt LICENSE.txt modules robots.txt themes xmlrpc.php cron.php index.php install.php MAINTAINERS.txt PRESSFLOW.txt scripts update.php jim@kiwi:/web/tech.transitionnetwork.org/git/www$ git status # On branch master nothing to commit (working directory clean)
Chris: Does the Trac plugin only allow one repo? If so I'll have to pull all the other code into this one and rearrange it...
comment:11 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.1
- Total Hours changed from 2.12 to 2.22
Chris: Does the Trac plugin only allow one repo? If so I'll have to pull all the other code into this one and rearrange it...
Well, we are running with the Debian Trac which is version 0.11 and:
Starting with Trac 0.12, Git Plugin gained support for multi-repository configuration
I'd rather stick with one repo for now if we can, but if it's essential I can also look at upgrading Trac...
comment:12 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.2
- Total Hours changed from 2.22 to 2.42
Sharing engine trunk also imported.
So now in /www/tech.transitionnetwork.org/git we have sharing-engine and www git clones of the SVN trunk folders... What we need now is:
- to merge these into one mega repo... Or update Trac. Thing is there will be more repos to add in the PSE...
- to checkout the files and test the ignores etc are working ok. (I can do this on my machine)
- to do the same but over the top of a functioning website (again, I'll do this on my machine first)
- update any files Laura sends, test process and document
- tag/branch for release and do it on LIVE.
Chris, what do you think about 1... I take it you don't want to update Trac (again)?
And any thoughts as to how to do 3 and 5 over the top of LIVE's files without messing anything. Obviously I'll test on my box first...
comment:13 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.05
- Total Hours changed from 2.42 to 2.47
http://markhansen.co.nz/git-repo-inside-git/ seems to be a good approach to putting a repo in a repo as a 'submodule'.
I'll look into this and the best approach for replacing LIVE's copy without mucking anything up on Monday.
Do you have any ideas or comments Chris?
comment:14 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.22
- Total Hours changed from 2.47 to 2.69
Oops, I forgot to submit this comment on Friday:
Trac 0.12 is in debian testing, but no backport for squeeze, so I could try this approach:
http://cksum.org/blog/182-how-to-install-trac-0-12-debian-squeeze
for 3. and 5, you could check it out somewhere and then rsync the git version over the svn one and then delete all the .svn directories (I can do the rsync and delete the svn dirs if you want).
I'm going to be really pushed this week due to half term...
comment:15 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.2
- Total Hours changed from 2.69 to 2.89
This trac site is going to be taken off line (by stopping apache) to upgrade it following:
- http://trac.edgewall.org/wiki/TracUpgrade
- http://cksum.org/blog/182-how-to-install-trac-0-12-debian-squeeze
Shout if this is not OK!
comment:16 Changed 5 years ago by chris
- Cc changed from chris,ed,laura to chris, ed, laura
- Add Hours to Ticket changed from 0.0 to 2.0
- Total Hours changed from 2.89 to 4.89
That was a bit hairy due to a local python in /usr/local/ ...
The configured repos are here:
https://tech.transitionnetwork.org/trac/admin/versioncontrol/repository
And the code can be browsed here (see bottom of page):
https://tech.transitionnetwork.org/trac/browser
After adding each repo there was a message like this:
You should also set up a post-commit hook on the repository to call trac-admin $ENV changeset added "old svn" $REV for each committed changeset.
Where $ENV is /web/tech.transitionnetwork.org/trac -- I haven't done this.
I haven't had a chance to update the documentation yet, but I have added a link to this ticket from wiki:DevelopmentServer#Trac
comment:17 Changed 5 years ago by chris
If I'm needed I could do the suggested things to switch from SVN to GIT (see ticket:364#comment:14 ) right now or late tonight, but won't have a chance during the day today.
comment:18 Changed 5 years ago by jim
Please do go ahead whenever you have a chance, Chris.
I'll try it all out on my machine later this afternoon and update the docs... Hopefully the process on LIVE will go well and we will meet in the middle.
I estimate my times per https://tech.transitionnetwork.org/trac/ticket/364#comment:12 to be about 2 hours on my side.
comment:19 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 1.0
- Total Hours changed from 4.89 to 5.89
OK I've done some work on this:
- checked out the code on my machine
- partially updated documentation: CodeManagementReleaseProcess
But I've hit some snags pushing my work back:
- Kiwi has all the /web/tech.transitionnetwork.org/git folders owned by Root, which is no good... Chris: is there a 'users' group we can apply so the files can be checked out remotely by mere mortals like me? In the end I did a sudo chown -R jim:www-data * to make the files accessible across SSH, but don't know if that'll work for Laura and others... What's the best move here?
- My knowledge of Git isn't quite up to the task as it stands -- the repo on DEV is now in two parts (www and www_temp) because I'm working on this... Once I have my head around Git, branches and best practice it'll be fine. (it's VERY different from SVN, more than I expected and much more complex than my use of it so far)
So, will continue on this tomorrow so the repo and docs are done, then we can test pulling it onto LIVE.
comment:20 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.01
- Total Hours changed from 5.89 to 5.9
Kiwi has all the /web/tech.transitionnetwork.org/git folders owned by Root, which is no good... Chris: is there a 'users' group we can apply so the files can be checked out remotely by mere mortals like me? In the end I did a sudo chown -R jim:www-data * to make the files accessible across SSH, but don't know if that'll work for Laura and others... What's the best move here?
We could creat a git user and sudo to that user when we want to do git things, would that do?
comment:21 Changed 5 years ago by jim
I don't think it would, because we'd get no user history data if we all used git@…... Is that what you're proposing?
comment:22 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.01
- Total Hours changed from 5.9 to 5.91
No, if we still use our current accounts to login but when we want to do any git things we do:
sudo -i su - git
And then do the git stuff as the git user...
comment:23 Changed 5 years ago by jim
Still not sure mate... For example:
git clone USER@dev.transitionnetwork.org:/web/tech.transitionnetwork.org/git/www/
grabs the repo and clones it. The command is run on my PC, and when I want to push changes back, that's where the command runs... Currently 'USER' is 'jim', are you suggesting it will be 'git'? Because if so, that won't work for the reasons I said.
Ultimately some users will indeed be doing stuff directly on Kiwi, but 90% of the time all pushing, updates and branch/tagging will be done locally.
Perhaps we need a quick Skype to iron this and related issues out?
comment:24 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.1
- Total Hours changed from 5.91 to 6.01
Sorry perhaps there is some misunderstanding here, I was suggesting how we could update the files on the server using git and to enable this we would need a user with read right -- ie ssh access to kiwi, and we could use the live user that already exists for this, so things would work like this:
- People update code using their users accounts on their local machines.
- When the live or dev server is to be updated this is done by ssh'ing to the server, sudo'ing to the correct shared user account and then running the git commands.
Alternatively if it's only one person updating the code on the live server you could ssh to it with -A and then pull the updated from the dev server as you.
comment:25 Changed 5 years ago by jim
I'm not sure the workflow you suggest is the best... Seems longwinded to have a repo locally, then another in the user's home folder, then the 'master', then whatever's on LIVE...
Can we Skype please? Sorry to be a pest but I have way more questions than answers at this stage.
comment:26 Changed 5 years ago by chris
Sure, I'm on Skype now, perhaps I'm misunderstanding how git works and proposing a solution that would be good for subversion via ssh...?
comment:27 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.33
- Total Hours changed from 6.01 to 6.34
Jim and I had a skype chat and I added a gitusers group on the dev server and also deleted all the .svn directories from the live site.
comment:28 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.1
- Total Hours changed from 6.34 to 6.44
And I've done a chown -R jim:gitusers * followed by a sudo chmod -R 664 * in the git folder to allow any member of gitusers (Me, Laura and Chris) to write to all git repo files.
Am now researching the best workflow, then will bring the master repo on at /web/tech.transitionnetwork.org/git/www up to date with my version. Then I'll update the documentation. THEN we'll be ready to apply the work to LIVE...
comment:29 Changed 5 years ago by ed
I did a +E ed:gitsoulsoup1 fugwinkle:doobie; followed by a bigGuff cmodc/bob in the mgtCabinet
comment:30 Changed 5 years ago by jim
- Owner changed from chris to jim
- Status changed from new to assigned
Right, sorry to waste a bit of mine and Chris' time, but I'm just going to put the repo on github.com -- It's an executive decision that avoids plenty of SSH pain.
Doing this will provide us with better infrastructure and avoid the need for more server-level faff.. It'll also mean other developers can comment/add/grab our code in the best of open-source manners. It also means we can rely on great documentation and help on that site.
So the process is now:
- I've set up an account (using mine own one for now, can create a TN GitHub? account if needs be)
- I'll log into LIVE, add a .gitignore file and then initiatilse the repo
- I'll push what's on LIVE to the MASTER version 1 on GitHub?
- I'll check it out on my machine and apply the updated bits/security updates
- I'll push that back and pull it onto DEV.
- Test DEV and document best practice
- Push the updates onto LIVE and finish documentation
- Done...
This should all be done in the next 24 hours. MANY apologies for the delay.
comment:31 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.5
- Total Hours changed from 6.44 to 6.94
LIVE now cloned into new repo, minu sensitive files thanks to .gitignore file.
Repo lives here (for now) https://github.com/i-jk/Transition-Network
So the first 3 bullets from the above comment are done, will now clone onto my machine, set up RELEASE and DEVELOPMENT branches for us all to use, then apply my recent changes and push back to DEVELOPMENT which will then go onto DEV.
The upshot is that root@quince (because of our need to sudo) and jim@my-computer have SSH keys registered for the Transition GitHub? project.
comment:32 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.25
- Total Hours changed from 6.94 to 7.19
Update:
- 'master' branch still holds what was on LIVE. This branch will ultimately be removed.
- 'live' branch is a clone of 'master' and represents LIVE code.
- 'development' branch is 'live' with all module updates and work in #238 is now in Git.
- all pushed to GitHub?
Next:
- Push all this to DEV via the 'development' branch.
- Merge 'development' into 'live'
- delete 'master'
- update documentation, do a git pull of 'live' on LIVE server, run updates, done!
- Documentation!
- done.
BTW, git is FAAAST and good.
comment:33 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.5
- Total Hours changed from 7.19 to 7.69
- master branch deleted.
- development branch now contains all goodness (module/security updates & map clustering)
- DEV server now has development branch on it, updates enabled.
Now updating documentation before merging development with live and pulling onto LIVE server.
comment:34 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 1.5
- Total Hours changed from 7.69 to 9.19
- 'live' branch now has had 'development' merged in.
- documentation updated: CodeManagementReleaseProcess
So I'm waiting for midnight to do the server update and finish #329 and #238.
comment:35 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.1
- Priority changed from blocker to major
- Total Hours changed from 9.19 to 9.29
- Milestone changed from Phase 5 to PSE
All done, update went swimmingly and even patched a broken module (http://drupal.org/node/1327960) and pushed changes back to Git Hub from LIVE...
Low priority to dos:
- There's some work to do on TRAC to use the GitHub? plugin instead -- https://github.com/davglass/github-trac
- Put the Sharing Engine into Github too
- Make a PSE repo
- Get Transition Network to get their own Github account and transfer the repos from my account to theirs.
Moving this into PSE so it gets done at the beginning of that project, downgrading.
comment:36 Changed 5 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.67
- Total Hours changed from 9.29 to 9.96
Jim, scroll to the end of this comment for some things I need help from you with.
Python is a bit of mess on the development server because (a) a source version was installed in order to get the GA Piwik import working and (b) a unstable version was installed in order to install a unstable version of Trac in order to get it working with git...
So trying to run step 2. of the github-trac install process, https://github.com/davglass/github-trac:
- Install SimpleJSON: easy_install simplejson
easy_install simplejson -bash: /usr/local/bin/easy_install: /usr/local/bin/python: bad interpreter: No such file or directory
As /usr/local/bin is in ones PATH before /usr/bin this attempted to use the /usr/local/bin/easy_install so that was moved:
cd /usr/local/bin mv easy_install easy_install.bak
And it was run again:
easy_install simplejson Searching for simplejson Best match: simplejson 2.3.0 Processing simplejson-2.3.0-py2.7.egg simplejson 2.3.0 is already the active version in easy-install.pth Using /usr/local/lib/python2.7/dist-packages/simplejson-2.3.0-py2.7.egg Processing dependencies for simplejson Finished processing dependencies for simplejson
Step 1. Clone the repository:
cd /home/chris git clone git://github.com/davglass/github-trac.git Cloning into github-trac... remote: Counting objects: 120, done. remote: Compressing objects: 100% (69/69), done. remote: Total 120 (delta 55), reused 110 (delta 48) Receiving objects: 100% (120/120), 18.71 KiB, done. Resolving deltas: 100% (55/55), done.
Step 3. Install the Plugin:
cd github-trac/ sudo /usr/bin/python2.7 setup.py install running install Checking .pth file support in /usr/local/lib/python2.7/dist-packages/ /usr/bin/python2.7 -E -c pass TEST PASSED: /usr/local/lib/python2.7/dist-packages/ appears to support .pth files running bdist_egg running egg_info creating GithubPlugin.egg-info writing requirements to GithubPlugin.egg-info/requires.txt writing GithubPlugin.egg-info/PKG-INFO writing top-level names to GithubPlugin.egg-info/top_level.txt writing dependency_links to GithubPlugin.egg-info/dependency_links.txt writing entry points to GithubPlugin.egg-info/entry_points.txt writing manifest file 'GithubPlugin.egg-info/SOURCES.txt' reading manifest file 'GithubPlugin.egg-info/SOURCES.txt' writing manifest file 'GithubPlugin.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_py creating build creating build/lib.linux-x86_64-2.7 creating build/lib.linux-x86_64-2.7/github copying github/github.py -> build/lib.linux-x86_64-2.7/github copying github/hook.py -> build/lib.linux-x86_64-2.7/github copying github/__init__.py -> build/lib.linux-x86_64-2.7/github creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/egg creating build/bdist.linux-x86_64/egg/github copying build/lib.linux-x86_64-2.7/github/github.py -> build/bdist.linux-x86_64/egg/github copying build/lib.linux-x86_64-2.7/github/hook.py -> build/bdist.linux-x86_64/egg/github copying build/lib.linux-x86_64-2.7/github/__init__.py -> build/bdist.linux-x86_64/egg/github byte-compiling build/bdist.linux-x86_64/egg/github/github.py to github.pyc byte-compiling build/bdist.linux-x86_64/egg/github/hook.py to hook.pyc byte-compiling build/bdist.linux-x86_64/egg/github/__init__.py to __init__.pyc creating build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO zip_safe flag not set; analyzing archive contents... creating dist creating 'dist/GithubPlugin-0.4-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it removing 'build/bdist.linux-x86_64/egg' (and everything under it) Processing GithubPlugin-0.4-py2.7.egg creating /usr/local/lib/python2.7/dist-packages/GithubPlugin-0.4-py2.7.egg Extracting GithubPlugin-0.4-py2.7.egg to /usr/local/lib/python2.7/dist-packages Adding GithubPlugin 0.4 to easy-install.pth file Installed /usr/local/lib/python2.7/dist-packages/GithubPlugin-0.4-py2.7.egg Processing dependencies for GithubPlugin==0.4 Searching for GitPython>=0.1.6 Reading http://pypi.python.org/simple/GitPython/ Reading http://gitorious.org/projects/git-python/ Reading https://github.com/gitpython-developers Best match: GitPython 0.3.2.RC1 Downloading http://pypi.python.org/packages/source/G/GitPython/GitPython-0.3.2.RC1.tar.gz#md5=849082fe29adc653a3621465213cab96 Processing GitPython-0.3.2.RC1.tar.gz Running GitPython-0.3.2.RC1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-r4HgSa/GitPython-0.3.2.RC1/egg-dist-tmp-A3Ej2M warning: no files found matching 'README' Adding GitPython 0.3.2.RC1 to easy-install.pth file Installed /usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg Searching for gitdb>=0.5.1 Reading http://pypi.python.org/simple/gitdb/ Reading https://github.com/gitpython-developers/gitdb Best match: gitdb 0.5.4 Downloading http://pypi.python.org/packages/source/g/gitdb/gitdb-0.5.4.tar.gz#md5=25353bb8d3ea527ba443dd88cd4e8a1c Processing gitdb-0.5.4.tar.gz Running gitdb-0.5.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-h7oXgb/gitdb-0.5.4/egg-dist-tmp-dPjRdM gitdb/_fun.c:1:20: error: Python.h: No such file or directory In file included from gitdb/_fun.c:2: gitdb/_delta_apply.h:3: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token gitdb/_delta_apply.h:4: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token gitdb/_delta_apply.h:6: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘DeltaChunkListType’ gitdb/_fun.c:4: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token gitdb/_fun.c:84: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘py_fun’ gitdb/_fun.c: In function ‘init_perf’: gitdb/_fun.c:96: error: ‘PyObject’ undeclared (first use in this function) gitdb/_fun.c:96: error: (Each undeclared identifier is reported only once gitdb/_fun.c:96: error: for each function it appears in.) gitdb/_fun.c:96: error: ‘m’ undeclared (first use in this function) gitdb/_fun.c:98: warning: implicit declaration of function ‘PyType_Ready’ gitdb/_fun.c:98: error: ‘DeltaChunkListType’ undeclared (first use in this function) gitdb/_fun.c:101: warning: implicit declaration of function ‘Py_InitModule3’ gitdb/_fun.c:101: error: ‘py_fun’ undeclared (first use in this function) gitdb/_fun.c:101: error: ‘NULL’ undeclared (first use in this function) gitdb/_fun.c:105: warning: implicit declaration of function ‘Py_INCREF’ gitdb/_fun.c:106: warning: implicit declaration of function ‘PyModule_AddObject’ gitdb/_fun.c:106: error: expected expression before ‘)’ token Ignored failure when building extensions, pure python modules will be used instead Adding gitdb 0.5.4 to easy-install.pth file Installed /usr/local/lib/python2.7/dist-packages/gitdb-0.5.4-py2.7-linux-x86_64.egg Searching for smmap>=0.8.0 Reading http://pypi.python.org/simple/smmap/ Reading https://github.com/Byron/smmap Best match: smmap 0.8.1 Downloading http://pypi.python.org/packages/source/s/smmap/smmap-0.8.1.tar.gz#md5=a35b64bbb7068b7a3f2e0651b72646b2 Processing smmap-0.8.1.tar.gz Running smmap-0.8.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-n7qxpd/smmap-0.8.1/egg-dist-tmp-GfCoXO Adding smmap 0.8.1 to easy-install.pth file Installed /usr/local/lib/python2.7/dist-packages/smmap-0.8.1-py2.7.egg Searching for async>=0.6.1 Reading http://pypi.python.org/simple/async/ Reading https://github.com/gitpython-developers/async Best match: async 0.6.1 Downloading http://pypi.python.org/packages/source/a/async/async-0.6.1.tar.gz#md5=6f0e2ced1fe85f8410b9bde11be08587 Processing async-0.6.1.tar.gz Running async-0.6.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-o6gdJb/async-0.6.1/egg-dist-tmp-T0AJm3 mod/zlibmodule.c:7:20: error: Python.h: No such file or directory mod/zlibmodule.c:60: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Comptype’ mod/zlibmodule.c:61: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Decomptype’ mod/zlibmodule.c:63: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:67: error: expected specifier-qualifier-list before ‘PyObject_HEAD’ mod/zlibmodule.c: In function ‘zlib_error’: mod/zlibmodule.c:83: warning: implicit declaration of function ‘PyErr_Format’ mod/zlibmodule.c:83: error: ‘ZlibError’ undeclared (first use in this function) mod/zlibmodule.c:83: error: (Each undeclared identifier is reported only once mod/zlibmodule.c:83: error: for each function it appears in.) mod/zlibmodule.c: At top level: mod/zlibmodule.c:89: error: expected ‘)’ before string constant mod/zlibmodule.c:94: error: expected ‘)’ before string constant mod/zlibmodule.c:99: error: expected ‘)’ before ‘*’ token mod/zlibmodule.c:125: error: expected ‘)’ before string constant mod/zlibmodule.c:129: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:201: error: expected ‘)’ before string constant mod/zlibmodule.c:206: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:301: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:340: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c: In function ‘Comp_dealloc’: mod/zlibmodule.c:379: error: ‘compobject’ has no member named ‘is_initialised’ mod/zlibmodule.c:380: error: ‘compobject’ has no member named ‘zst’ mod/zlibmodule.c:381: warning: implicit declaration of function ‘Py_XDECREF’ mod/zlibmodule.c:381: error: ‘compobject’ has no member named ‘unused_data’ mod/zlibmodule.c:382: error: ‘compobject’ has no member named ‘unconsumed_tail’ mod/zlibmodule.c:383: error: ‘compobject’ has no member named ‘status’ mod/zlibmodule.c:389: warning: implicit declaration of function ‘PyObject_Del’ mod/zlibmodule.c: In function ‘Decomp_dealloc’: mod/zlibmodule.c:395: error: ‘compobject’ has no member named ‘is_initialised’ mod/zlibmodule.c:396: error: ‘compobject’ has no member named ‘zst’ mod/zlibmodule.c:397: error: ‘compobject’ has no member named ‘unused_data’ mod/zlibmodule.c:398: error: ‘compobject’ has no member named ‘unconsumed_tail’ mod/zlibmodule.c:399: error: ‘compobject’ has no member named ‘status’ mod/zlibmodule.c: At top level: mod/zlibmodule.c:409: error: expected ‘)’ before string constant mod/zlibmodule.c:416: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:480: error: expected ‘)’ before string constant mod/zlibmodule.c:490: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:604: error: expected ‘)’ before string constant mod/zlibmodule.c:611: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:805: error: expected ‘)’ before string constant mod/zlibmodule.c:811: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:874: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘comp_methods’ mod/zlibmodule.c:887: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Decomp_methods’ mod/zlibmodule.c:900: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:919: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:945: error: expected ‘)’ before string constant mod/zlibmodule.c:950: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:968: error: expected ‘)’ before string constant mod/zlibmodule.c:973: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token mod/zlibmodule.c:991: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘zlib_methods’ mod/zlibmodule.c:1008: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Comptype’ mod/zlibmodule.c:1024: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Decomptype’ mod/zlibmodule.c:1041: error: expected ‘)’ before string constant mod/zlibmodule.c:1056: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘initzlib’ Ignored failure when building extensions, pure python modules will be used instead Adding async 0.6.1 to easy-install.pth file Installed /usr/local/lib/python2.7/dist-packages/async-0.6.1-py2.7-linux-x86_64.egg Searching for simplejson==2.3.0 Best match: simplejson 2.3.0 Processing simplejson-2.3.0-py2.7.egg simplejson 2.3.0 is already the active version in easy-install.pth Using /usr/local/lib/python2.7/dist-packages/simplejson-2.3.0-py2.7.egg Finished processing dependencies for GithubPlugin==0.4
So, try again without /usr/local/bin in the path:
sudo -i cd /home/chris/github-trac/ export PATH=/usr/sbin:/usr/bin:/sbin:/bin running install Checking .pth file support in /usr/local/lib/python2.7/dist-packages/ /usr/bin/python2.7 -E -c pass TEST PASSED: /usr/local/lib/python2.7/dist-packages/ appears to support .pth files running bdist_egg running egg_info writing requirements to GithubPlugin.egg-info/requires.txt writing GithubPlugin.egg-info/PKG-INFO writing top-level names to GithubPlugin.egg-info/top_level.txt writing dependency_links to GithubPlugin.egg-info/dependency_links.txt writing entry points to GithubPlugin.egg-info/entry_points.txt reading manifest file 'GithubPlugin.egg-info/SOURCES.txt' writing manifest file 'GithubPlugin.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_py creating build/bdist.linux-x86_64/egg creating build/bdist.linux-x86_64/egg/github copying build/lib.linux-x86_64-2.7/github/github.py -> build/bdist.linux-x86_64/egg/github copying build/lib.linux-x86_64-2.7/github/hook.py -> build/bdist.linux-x86_64/egg/github copying build/lib.linux-x86_64-2.7/github/__init__.py -> build/bdist.linux-x86_64/egg/github byte-compiling build/bdist.linux-x86_64/egg/github/github.py to github.pyc byte-compiling build/bdist.linux-x86_64/egg/github/hook.py to hook.pyc byte-compiling build/bdist.linux-x86_64/egg/github/__init__.py to __init__.pyc creating build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying GithubPlugin.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO zip_safe flag not set; analyzing archive contents... creating 'dist/GithubPlugin-0.4-py2.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it removing 'build/bdist.linux-x86_64/egg' (and everything under it) Processing GithubPlugin-0.4-py2.7.egg removing '/usr/local/lib/python2.7/dist-packages/GithubPlugin-0.4-py2.7.egg' (and everything under it) creating /usr/local/lib/python2.7/dist-packages/GithubPlugin-0.4-py2.7.egg Extracting GithubPlugin-0.4-py2.7.egg to /usr/local/lib/python2.7/dist-packages GithubPlugin 0.4 is already the active version in easy-install.pth Installed /usr/local/lib/python2.7/dist-packages/GithubPlugin-0.4-py2.7.egg Processing dependencies for GithubPlugin==0.4 Searching for GitPython==0.3.2.RC1 Best match: GitPython 0.3.2.RC1 Processing GitPython-0.3.2.RC1-py2.7.egg GitPython 0.3.2.RC1 is already the active version in easy-install.pth Using /usr/local/lib/python2.7/dist-packages/GitPython-0.3.2.RC1-py2.7.egg Searching for simplejson==2.3.0 Best match: simplejson 2.3.0 Processing simplejson-2.3.0-py2.7.egg simplejson 2.3.0 is already the active version in easy-install.pth Using /usr/local/lib/python2.7/dist-packages/simplejson-2.3.0-py2.7.egg Searching for gitdb==0.5.4 Best match: gitdb 0.5.4 Processing gitdb-0.5.4-py2.7-linux-x86_64.egg gitdb 0.5.4 is already the active version in easy-install.pth Using /usr/local/lib/python2.7/dist-packages/gitdb-0.5.4-py2.7-linux-x86_64.egg Searching for smmap==0.8.1 Best match: smmap 0.8.1 Processing smmap-0.8.1-py2.7.egg smmap 0.8.1 is already the active version in easy-install.pth Using /usr/local/lib/python2.7/dist-packages/smmap-0.8.1-py2.7.egg Searching for async==0.6.1 Best match: async 0.6.1 Processing async-0.6.1-py2.7-linux-x86_64.egg async 0.6.1 is already the active version in easy-install.pth Using /usr/local/lib/python2.7/dist-packages/async-0.6.1-py2.7-linux-x86_64.egg Finished processing dependencies for GithubPlugin==0.4
So perhaps the errors before can be ignored...
- Configure Trac by editing the /web/tech.transitionnetwork.org/trac/conf/trac.ini:
[components] #tracext.git.* = enabled github.* = enabled [trac] #repository_dir = /web/tech.transitionnetwork.org/git/.git #repository_type = git #[git] ### let Trac cache meta-data via CachedRepository wrapper; default: false #cached_repository = false ### disable automatic garbage collection for in-memory commit-tree cache; default: false #persistent_cache = false ### length revision sha-sums should be tried to be abbreviated to (must be >= 4 and <= 40); default: 7 #shortrev_len = 7 ### (0.12.0.3+) minimum length for which hex-strings will be interpreted as commit ids in wiki context; default: 40 #wiki_shortrev_len = 40 ### executable file name (in case of doubt use absolute path!) of git binary; default: 'git' #git_bin = /usr/bin/git ## (0.12.0.5+) define charset encoding of paths stored within git repository; default: 'utf-8' #git_fs_encoding = utf-8 ## (0.12.0.3+) enable reverse mapping of git email addresses to trac user ids; default: false #trac_user_rlookup = true ## (0.12.0.3+) use git-committer id instead of git-author id as changeset owner; default: true #use_committer_id = true ## (0.12.0.3+) use git-committer timestamp instead of git-author timestamp as changeset time; default: true #use_committer_time = true [github] apitoken = YOUR GITHUB API TOKEN closestatus = closed (This is optional, defaults to closed browser = https://github.com/i-jk/Transition-Network #Optional - perform a fetch on the local git repository autofetch = true
So, Jim, can you email me the github apitoken and do this last task:
- Go to the Admin page for your project on GitHub?. Then select the services tab.
Under the: Post-Receive URLs
Place a link to your Trac repository, in a format like this:
You can get your GitHub? API token from your accounts page.
This is for your security, only those that know the API Token will able to post to this url
comment:37 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.15
- Total Hours changed from 9.96 to 10.11
I've done the Github side of things, but the API key is secret so I've sent you a message via Skype with it in.
comment:38 Changed 5 years ago by jim
- Type changed from defect to maintenance
Moving to maintenance, but leaving in PSE since there's overlap...
To do:
- Put the Sharing Engine into Github too, AND the PSE code when it arrives
- Get Transition Network to get their own Github account and transfer the repos from my account to theirs.
comment:39 Changed 5 years ago by jim
See #389 for module updates as a prelude to adding the News Sharing Engine to Git.
comment:40 Changed 5 years ago by chris
GitHub Hacked:
Over the weekend, developer Egor Homakov exploited a gaping vulnerability in GitHub that allowed him (or anyone else with basic hacker know-how) to gain administrator access to projects such as Ruby on Rails, Linux, and millions of others. GitHub uses the Ruby on Rails application framework, and Rails has been weak to what's known as a mass-assignment vulnerability for years. Basically, Homakov exploited this vulnerability to add his public key to the Rails project on GitHub, which then meant that GitHub identified him as an administrator of the project. From here, he could effectively do anything, including deleting the entire project from the web; instead, he posted a fairly comical commit. GitHub summarily suspended Homakov, fixed the hole, and, after 'reviewing his activity,' he has been reinstated. Homakov could've gained administrative access to the master branch of any project on GitHub and deleted the history, committed junk, or closed or opened tracker tickets.
http://it.slashdot.org/story/12/03/05/1243235/github-hacked
Should we reconsider hosting our code with a 3rd party at some point?
comment:41 Changed 5 years ago by jim
Meh... we have no important code on GH that doesn't exist elsewhere, like on LIVE, DEV and my machine, and it's all public anyway so no secrets can escape. GH could explode tomorrow and we'd be fine.
I don't see any real risk and, given the thousands of high-profile projects on GH, security will be fixed pretty quickly. I've already audited the 3 ssh keys on my account.
So that leaves the tiny chance a hole is found and a hacker chooses us out of all those other big projects to put some Drupal-hacking code into... Like I said, meh!
In other news various updates are in Git pending an update later tonight.
The initial PSE code will be part of it and once we've got it on DEV to test I'll look into Git Submodules to manage all this stuff better.
comment:42 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.15
- Total Hours changed from 10.11 to 10.26
comment:43 Changed 5 years ago by jim
- Add Hours to Ticket changed from 0.0 to 0.2
- Total Hours changed from 10.26 to 10.46
The 'Error with navigation contributor "BrowserModule?"' issue rendered Trac's search functionality broken, so I've disabled the TracGit? stuff by moving the .egg files to
[trac_directory]/plugins-disabled.
Search now works again. We didn't need that anyway, so no loss.
comment:44 Changed 5 years ago by chris
Thanks for doing ticket:364#comment:43 -- is this something we should still aim to set up sometime or is it simply not needed?
comment:45 Changed 5 years ago by chris
github alternative which looks nice: http://sitaramc.github.com/gitolite/
comment:46 Changed 4 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.35
- Total Hours changed from 10.46 to 10.81
I have created an account for myself on github and added ssh keys, I'll try to checkout the code and commit a change to fix this bug later ticket:357#comment:49
comment:47 Changed 4 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.2
- Total Hours changed from 10.81 to 11.01
Following the comprehensive notes here, wiki:CodeManagementReleaseProcess#SoftwareGettingStarted I just tried to checkout the dev code:
git clone -b dev git@github.com:i-jk/Transition-Network.git dev Cloning into dev... Permission denied (publickey). fatal: The remote end hung up unexpectedly
I have added my ssh-key(s) following the instructions here http://help.github.com/linux-set-up-git/ and it all seems OK:
ssh -T github Hi chriscroome! You've successfully authenticated, but GitHub does not provide shell access.
Jim -- do you need to add me to the project or is the problem at my end, any idea? My username is chriscroome.
comment:48 Changed 4 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.12
- Total Hours changed from 11.01 to 11.13
- Description modified (diff)
Jim -- you can add me to the git repos if you want, https://github.com/chriscroome
Is Trac / Github integration needed? If not we can close this ticket, if it is then it needs some work.
comment:49 follow-up: ↓ 51 Changed 4 years ago by jim
- Status changed from assigned to closed
- Resolution set to fixed
Chris you're added.
No other migration needed, just documentation for new Aegir/Git/Drush/Makefile? process to replace: https://tech.transitionnetwork.org/trac/wiki/CodeManagementReleaseProcess
Will do documentation over here #488, closing.
comment:50 Changed 4 years ago by chris
- Add Hours to Ticket changed from 0.0 to 0.4
- Total Hours changed from 11.13 to 11.53
The wiki frontpage have been updated with links to https://github.com/transitionnetwork
I have also created a new wiki:BoaCodeManagement page and removed the front page link to wiki:CodeManagementReleaseProcess -- when a page needs a total re-write I think it's best to simply start a new one and archive the old one.
Now we have Piwik stats for this site it's interesting to note that there are quite a few visits to the trac pages generated from the subversion repo which no longer exists (I didn't migrate it as it's no longer used), I don't think it's worth worrying about these and they should drop out of the google index as the site is re-crawled.
comment:51 in reply to: ↑ 49 Changed 4 years ago by chris
Replying to jim:
Chris you're added.
Are you sure, I just see you and Laura https://github.com/transitionnetwork?tab=members
I'm not expecting to be committing much, if anything via git, but I'm on for testing and helping with the the documentation and generally trying to get my head around it all.
comment:52 Changed 4 years ago by jim
Yep, you're there, you just weren't 'Publicized'... You are now...
SVN -> Git user mapping