Recent

Author Topic: Support for Git?  (Read 8522 times)

Borneq

  • Full Member
  • ***
  • Posts: 127
Support for Git?
« on: May 12, 2012, 09:26:54 am »
Does Lazarus has build in support for Git or other (especially distributed) source control management tools?
How to view the differences between versions?

slinger

  • New Member
  • *
  • Posts: 19
Re: Support for Git?
« Reply #1 on: May 12, 2012, 09:59:08 am »
I'm pretty sure that someone on the Mailing List is trying to make a patch that integrates Git, Svn, and some other popular revision tools. :)
~slinger

Leledumbo

  • Hero Member
  • *****
  • Posts: 8108
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Support for Git?
« Reply #2 on: May 12, 2012, 04:53:40 pm »
Currently, there's only svn support (I guess).

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3634
  • I like bugs.
Re: Support for Git?
« Reply #3 on: May 12, 2012, 05:25:16 pm »
True, there is IDE integration only for SVN but you can still use Git for Lazarus sources. There are 2 alternatives:
a Git mirror:
  http://wiki.lazarus.freepascal.org/git_mirrors
and the git-svn link:
  http://wiki.lazarus.freepascal.org/Lazarus_git-svn

I use git-svn myself because then I can commit my changes directly to the SVN server.
The mirror is better for read-only access.

I have also promised to follow development branches made in a distributed way with Git, and to help get them applied to the centralized server.

Regards,
Juha

bonmario

  • Sr. Member
  • ****
  • Posts: 296
Re: Support for Git?
« Reply #4 on: June 04, 2012, 06:49:07 pm »
Hi,
git://github.com/graemeg/lazarus.git
is not updated. Last update is of 17 may 2012.
Why ?

Thanks, Mario

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3634
  • I like bugs.
Re: Support for Git?
« Reply #5 on: June 04, 2012, 09:42:29 pm »
git://github.com/graemeg/lazarus.git
is not updated. Last update is of 17 may 2012.
Why ?

It must be because 2 people got commit access rights for Lazarus repository that day.
There is a list of accepted committer names and email addresses in Graeme's mirror system. When a new person joins, the list must be edited manually. It happened also when I got commit access few years ago.
I really don't know why Graeme set up that system. We may have to wait for his fix because he has moved recently and may be busy with other things.

It would be a good idea to put up another mirror, maybe at GitHub or SourceForge or a private server or whereever.
It only requires a permanently running server which fetches and copies the possible changes from SVN server to the git repository in timed intervals, maybe every 15 minutes.

The git mirror's master would follow SVN trunk. It would solve one problem that Graeme's mirror has: there master is an old experimental branch and "upstream" follows SVN trunk.
It is a problem when someone forks his own branch. At least GitHub's own diff view shows the difference against master and it looks like there is a long history of changes. Also in the local repo you must think more carefully what you do.

Volunteers for a new mirror?

Juha

P.S.
I mentioned 2 new people with commit access.
One is Bart Broersma, a long time contributor who got write access to LCL + a component dir.
Another is David Jenkins, employee of http://www.scootersoftware.com, makers of the Beyond Compare tool. They evaluate Lazarus for their cross-platform development and improve Carbon bindings in the process.