Jump to content
Lars Fosdal

git and Delphi tooling?

Recommended Posts

We are making the plunge from SVN to git (on GitHub) and would like some input. Note that although there are other forms of git hosting than GitHub, we don't have a choice in the matter, so recommendations of other forms of hosting are off topic.


The obvious candidates (if you are using GitHub) are git for Windows and GitHub desktop.

Are there other valuable tools that one should have?

 

Also - how is the git integration in the Delphi IDE, on a scale from 0 - totally worthless, 5 - usable, to 10 - good enough?

 

Share this post


Link to post

We use Fork but you need to test to see what is best for you.

Never used Delphi integration.

 

Edited by Cristian Peța

Share this post


Link to post
1 hour ago, Lars Fosdal said:

We are making the plunge from SVN to git (on GitHub) and would like some input. Note that although there are other forms of git hosting than GitHub, we don't have a choice in the matter, so recommendations of other forms of hosting are off topic.


The obvious candidates (if you are using GitHub) are git for Windows and GitHub desktop.

Are there other valuable tools that one should have?

 

Also - how is the git integration in the Delphi IDE, on a scale from 0 - totally worthless, 5 - usable, to 10 - good enough?

 

There are a few older threads that many git tools were suggested and compared:

 

 

Share this post


Link to post
54 minutes ago, Attila Kovacs said:

Please forgive my naivety and let me ask, do companies really putting their valuable source codes on an online platform?

It's easy to backup, and every cloned repo is a backup. It's not an issue particular to source code. Any cloud based storage comes with the same question. On premise has its own issues. 

Share this post


Link to post

I'm using VS Code and git bash for the tasks VS Code can not handle. Diff view is one of the best I've seen, merge conflicts are easy to solve. Just install a time line addon and you are ready to go.

Share this post


Link to post

Tried GitHub desktop and didn't like it. Don't know about other tools but I'm using TortoiseGit for years now and I really like it. The most things I love about is the great shell integration and spell checking when I write comment. 

Share this post


Link to post
1 hour ago, Attila Kovacs said:

Please forgive my naivety and let me ask, do companies really putting their valuable source codes on an online platform?

The value of stealing commercial code is overstated. The whole Windows code base has been leaked if I remember well.   Any employee can steal the source code.  And I must say I trust Github abilities to protect the source code (and Google and Amazon) more than those of the IT departments of most companies.

Share this post


Link to post

@pyscripter I neither care about stealing. But if a system gets exposed (public or not) it could be an easy target for any kind of cyber-attack.

 

13 minutes ago, pyscripter said:

The whole Windows code base has been leaked if I remember well.

No you don't. It was just XP the last time which had a EOL back in 2008.

 

16 minutes ago, pyscripter said:

I trust Github abilities to protect the source code (and Google and Amazon) more than those of the IT departments of most companies

Trust is an unbeatable argument.

 

Share this post


Link to post
2 minutes ago, Attila Kovacs said:

Trust is an unbeatable argument.

The emphasis was on more.   I trust more...

Share this post


Link to post
54 minutes ago, aehimself said:

I'm using VS Code

Same. I'm mainly using Mercurial as I somehow get things done twice as fast as in Git, but when I use git, VS Code and its plugins (like Git Graph) do everything I could ask for.

  • Like 1

Share this post


Link to post
1 minute ago, Attila Kovacs said:

Hey, wasn't an offense, I'm totally fine with it!

Why should I be offended :classic_smile:.  All my code is open source anyway.

  • Like 1

Share this post


Link to post
1 hour ago, David Heffernan said:

It's easy to backup, and every cloned repo is a backup. It's not an issue particular to source code. Any cloud based storage comes with the same question. On premise has its own issues. 

Indeed.  

Share this post


Link to post

Git for Desktop is just a bloated Electron app.. I would not recommend it.

 

I don't use any gui tool for git.

For simple git process, I use

- on Linux, I use some simple scripts: https://github.com/synopse/mORMot2/blob/master/commit.sh and https://github.com/synopse/mORMot2/blob/master/kompare.sh on Linux

- for mORMot, I made a simple VCL app which calls a source comparison tool, then call some scripts. https://github.com/synopse/mORMot/tree/master/SQLite3/Documentation/SourceCodeRep
(which also update a fossil repository altogether with github - for standalone/private repositories, https://fossil-scm.org/home/doc/trunk/www/fossil-v-git.wiki is awesome, Windows native, with much more features than git and it has a build-in web ui, and the ability to mirror to git)

Edited by Arnaud Bouchez

Share this post


Link to post
1 hour ago, Mahdi Safsafi said:

Tried GitHub desktop and didn't like it. Don't know about other tools but I'm using TortoiseGit for years now and I really like it. The most things I love about is the great shell integration and spell checking when I write comment. 

 

Even as a long time TortoiseSVN user, I am slightly uncomfortable by the rather cluttered interface in TortoiseGit.  Too many options.
We are more likely to document step by step actions using a specific GUI and use powershell scripts that are based on this method of working: https://nvie.com/posts/a-successful-git-branching-model/ where possible.

 

Using git with Delphi is straight forward but using git for SQL Server is a major exercise in Catch-22.
Currently evaluating
1. Visual Studio Solution & git integration commit and push -> pull request -> CI script to deploy to staging databases

2. Ediiting DB in SSMS ->script that runs DB -> ApexSQL Diff -> local file folder -> git commit and push -> pull request -> CI script to deploy to staging databases
3. ApexSQL Diff direct to/from DB and git (which should have worked, but does not - awaiting support response)  -> CI script to deploy to staging databases
Each of the variants have pros and cons.

Share this post


Link to post
8 minutes ago, Lars Fosdal said:

https://git-fork.com/ looks very interesting!

I uninstalled SourceTree (which I had been using for years before with decreasing joy) the day I started using Fork and never looked back - back then Fork was completely free and changed to a paid license later but those 50 bucks were very well spent.

  • Thanks 1

Share this post


Link to post
17 minutes ago, Lars Fosdal said:

https://git-fork.com/ looks very interesting!
...and I suddenly realized that front page image shows Anders Heijlsberg doing his TypeScript commits with Fork.
/star-struck

They just cloned the typescript repo .....

  • Haha 1

Share this post


Link to post
3 minutes ago, David Heffernan said:

They just cloned the typescript repo .....

 

QED: Lars is a sucker 😄

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×