[SAC] [OSGeo] #720: trac/git sandbox

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: normal | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------
It'd be nice to have a trac instance to play with for testing git
integration.

Interesting points to deal with:

1: Check how to reference commits from tickets/wiki (ala r###)
2: Check what happens to old references (r###) -- should they be converted
? Is there an automatism for that ?

--
Ticket URL: <http://trac.osgeo.org/osgeo/ticket/720&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: normal | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------

Comment(by wildintellect):

For fresh repositories, references would now be based on git Hashes.

For old repositories converted to git from svn something like the
following would need to be run to maintain linkage by updating revision
numbers to git Hashes.
https://github.com/poseidix/TRAC-SVN-to-GIT-migration

I'm still looking for details on the syntax to reference a specific commit
in a ticket without memorizing crazy hashes or copy/paste.

Suggested approach to this issue is to setup a new Trac instance with the
latest Trac that supports multiple repos and create a test git repo or two
for testing.

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:1&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------
Changes (by wildintellect):

  * priority: normal => minor

Comment:

We'll put this into the TODO list for the upcoming install of Trac 0.12 -
look for more planning details on the SAC list in the next few weeks.

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:2&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------
Changes (by aboudreault):

* cc: wildintellect (added)

Comment:

If this still in your plan, We would like to use git for our repository of
UbuntuGIS. It would be easier for us to collaborate with the git of
debianGIS.

--
Ticket URL: <http://trac.osgeo.org/osgeo/ticket/720#comment:3&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------

Comment(by hamish):

> It would be easier for us to collaborate with the git of debianGIS.

n.b. we (meaning mostly Frankie) have only migrated about half the
projects in DebianGIS to git, the other half remain in Svn.

fwiw,
Hamish

--
Ticket URL: <http://trac.osgeo.org/osgeo/ticket/720#comment:4&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------

Comment(by aboudreault):

Any update on this?

--
Ticket URL: <http://trac.osgeo.org/osgeo/ticket/720#comment:5&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------
Changes (by getty):

* cc: wildintellect (removed)
* cc: getty (added)

--
Ticket URL: <http://trac.osgeo.org/osgeo/ticket/720#comment:6&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+------------------------------------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Keywords:
---------------------------+------------------------------------------------
Changes (by getty):

* cc: wildintellect (added)

--
Ticket URL: <http://trac.osgeo.org/osgeo/ticket/720#comment:7&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

Can this be done now that we're running 1.0.5 ?

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:8&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by martin):

This one is using GIT for the source repo:

   https://trac.osgeo.org/martin/

I just didn't get to the point of installing a functional system for
remote access control on the GIT repo - any "best practice" recommendation
regarding this item ?

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:9&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

I have no experience with setting up a multi-user git repo, but wouldn't
allowing ssh login to developers on the "git" machine give all the needed
power ? Or would it be too much ?

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:10&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

This page talk about using a single "git" user (ala github) and ssh
authorized keys to login:
http://tumblr.intranation.com/post/766290565/how-set-up-your-own-private-
git-server-linux

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:11&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

And this http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-
and-secure-way/ gives more tips to make it easier to create new
repositories.

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:12&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

Once the "git" user is setup (further restrictions to it can be given via
https://git-scm.com/docs/git-shell) you may want to look at gitolite for
easy management of repositories. gitolite seems to be packaged by debian,
contrary to gitosis (the one referenced by scie.nti.st)

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:13&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

Actually, I've just tried "gitolite3", and it does everything by itself,
no need to manually create a "git" user (the packaged version installs a
"gitolite3" user) - I guess it could later be changed (or aliased) to be
"git"

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:14&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

nvh reported this tool which might be useful to convert trac references
from SVN revisions to GIT commits, for specific projects that want to
switch: https://github.com/seantis/git-svn-trac

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:15&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

Shall gitolite be choosen, there's a trac plugin for it: https://trac-
hacks.org/wiki/GitolitePlugin

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:16&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

In alternative to gitolite, it might be simpler to just setup https access
to git: https://www.kernel.org/pub/software/scm/git/docs/howto/setup-git-
server-over-http.html

LDAP over HTTPS being already implemented for SVN, this could be the
easiest path

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:17&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by martin):

What about this one - anonymous, but fast read-only:

   git://git.osgeo.org/gittest/

Slower, but allowing authenticated commits (use your OSGeo LDAP password):

   https://&lt;user&gt;@git.osgeo.org/git/gittest/

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:18&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.

#720: trac/git sandbox
---------------------------+--------------------
Reporter: strk | Owner: sac@…
     Type: task | Status: new
Priority: minor | Milestone:
Component: Systems Admin | Resolution:
Keywords: |
---------------------------+--------------------

Comment (by strk):

That's perfect. I guess next stop would be testing multiple-repositories,
to make it easier for those coming from SVN to have a period of keeping
both alive, maybe with ticket comments being able to refer to either of
the two repo (so old ones can remain untouched and new one can point to
the git repo, for example).

The other use case for multiple repository would be allowing for different
project components to be in different repositories (think website, for
instance).

--
Ticket URL: <https://trac.osgeo.org/osgeo/ticket/720#comment:19&gt;
OSGeo <http://www.osgeo.org/&gt;
OSGeo committee and general foundation issue tracker.