Jump to content
Mike Torrettinni

Why should I use good source control versioning system?

Recommended Posts

Hi...:classic_cool:

Last but not least...TortoiseXXX has in the Explorer overlayicons. :classic_cheerleader:I love it. You can see, which files/folders are modified. Especially the ones you haven't changed yourself...dproj. :classic_tongue:

image.thumb.png.cef46e6164bb4427d874dbf344ef0aac.png

Edited by haentschman
  • Like 1

Share this post


Link to post

It was not the history folders that I meant. It is the list of files under File | Recent Files. 

 

Naturally, I exclude the IDE history folders from VCS. 

Share this post


Link to post
8 hours ago, David Heffernan said:

Fossil would be a weird choice. Regardless of how good it is, it's not widespread. git is everywhere, and has so much tooling and resources available. Very hard to see past it. 

So Delphi would be a weird choice for programming. Regardless of how good it is, it's not widespread any more.

 

The weirdest David's argument I have never read.
Alternatives are good. Especially if they are better for simple projects. 😉

Edited by Arnaud Bouchez

Share this post


Link to post
26 minutes ago, Arnaud Bouchez said:

Delphi would be a weird choice for programming

Yes. Same argument applies. 

Share this post


Link to post
8 hours ago, Attila Kovacs said:

Like Delphi?

 image.png.b15a27725c673074cebad416f22d5179.png

Yes. Same argument applies. I use delphi because I have a huge code base written in Delphi. If I was starting from scratch I would categorically not use delphi. 

Share this post


Link to post
Just now, David Heffernan said:

Yes. Same argument applies. I use delphi because I have a huge code base written in Delphi. If I was starting from scratch I would categorically not use delphi. 

Same here.  In the hands of a more capable company, Delphi could/would have conquered the world. 

 

Out of interest, which development system would you pick today?

Share this post


Link to post
11 hours ago, Mike Torrettinni said:

You are referring to Fossil vs Git, right?

Right, GIT works serverless as well.

It can be used in very many ways.

 

Moreover to all whats said before: GIT can be integrated with the Delphi IDE (but I don't use that at the moment, but wanted to try out).

Share this post


Link to post
40 minutes ago, A.M. Hoornweg said:

Out of interest, which development system would you pick today?

These decisions depend very heavily on what type of coding you are doing. In my case it's a numerical code, whose bottlenecks are floating point calculations. So runtime performance is highly important, and Delphi is very poor in this regard. 

 

My working assumption is that C++ would be the right choice, at least for the numerical part of the code. But if and when we come to migrate then I'd need to spend a lot of time evaluating options, and I'd look beyond C++ too.

 

This is not to say that I am a big fan of C++. 

Share this post


Link to post

Git + Tortoise is my choice. I tried Fossil as well and it's pretty nice to start using VCS with. It even has web-based issue tracker! There's Mercurial as well but Git seems to become a "VCS Google search" currently. One will likely use Git for 3rd party projects so why not use it for own projects as well. And, for OSS purists, it is developed by Legendary Linus!

Share this post


Link to post

Slightly OT: Use whatever you want for private projects or within a company but please - whenever someone does open source don't turn off possible contributors by having to install yet another VCS. Git has won, deal with it!

  • Like 6

Share this post


Link to post
On 7/22/2020 at 9:35 AM, Lars Fosdal said:

I am a creature of habit, so I have a root checkout folder:

C:\src\Programs

 

This contains the branch of my apps that I am currently working on i.e. typicallly trunk in SVN speak, or dev in git terms.

C:\src\Programs\App1

C:\src\Programs\App2

C:\src\Programs\App3

C:\src\Programs\Common
etc.

 

I also have other versions in separate folders that I update regularily

C:\src\Programs.Live

C:\src\Programs.Pilot

C:\src\Programs.Trunk

C:\src\Programs.ThatVersionThatNeverGotReleased

I'm just setting my git, so this is all new to me.

 

How do you have your Apps organized, as repositories? Did you set 😄\src\Programs as repository and App1..2 are just folders in branches or each their own repository?

 

Share this post


Link to post

In my case, every project is generally in its own repository.

Some projects, however, consist of many sub-projects (for example, a main project and a bunch of plugins/dlls and maybe a configuration program); in such a case, I keep these in one repository because they count as one big project.

 

Almost all my projects use a bunch of libraries, some of which are commercial ones. And of course I keep each of these libraries is in a repository of its own. Source code versioning systems like Subversion and Git allow you to reference "external" repositories for libraries (in Git they are called Submodules).   So each of my project repositories has a subfolder "externals" where it automatically downloads the libraries which it needs.  

 

 

 

 

 

 

 

 

 

 

 

 

  • Thanks 1

Share this post


Link to post

Hi...:classic_cool:

Quote

 

\src\Programs as repository and App1..2 are just folders in branches or each their own repository?

 

correspondingly: one dproj -> one repository :classic_cool:

 

Branches in the repository:

image.thumb.png.51d4e8f66eab7822d6f35bf13fc10eb8.png

 

Picture:

master: unused

release: new branch

development: new branch

#xxx: new branch for every feature -> then merge to development

Edited by haentschman
  • Thanks 1

Share this post


Link to post
1 hour ago, A.M. Hoornweg said:

In my case, every project is generally in its own repository

 

6 minutes ago, haentschman said:

correspondingly: one dproj -> one repository

Yes, like I will do the same.

In all the available git resources online it's often hard to decipher when the project is referred to as set of features and when to a separate .dproj project.

I just started wrong because I set a repository on main dev folder, instead for each subfolder - project. So, delete and start again... fun 🙂

Share this post


Link to post
50 minutes ago, Mike Torrettinni said:

oh, you don't use git?

I use both git and svn.

Actually, I mean, VCS for developers, solo or a team, is a must-have like IDE.

Share this post


Link to post

There are only two of us now but for years it was just me and I have used SVN for many, many years.

 

Now we do all development in VM's (VirtualBox) and leave the source on the host and access it via virtual share/drive letters, never on the VM's.  Source control is good old SVN with TortoiseSVN, all commits/update done from the host.  We have an in-house SVN server with repositories for each projects,  This makes upgrading version of Delphi simple, we build new VM's for new version of Delphi so we never have cross version compile/component install issues, because that never happens 😮 and use cloned repos for testing new version in new VM's before we ever move production code to a new Delphi version.


 

  • Like 1

Share this post


Link to post
2 hours ago, Mike Torrettinni said:

I assume the combination is good for teams, rather than single developers.

It really makes not a lot of difference which vcs you use, compared to not using revision control. 

Share this post


Link to post
44 minutes ago, ŁukaszDe said:

Something about the topic from Embarcadero

 

I'm looking a this article: https://www.linkedin.com/pulse/como-organizar-e-agilizar-o-desenvolvimento-com-git-flow-rafael-naves

 

It seems I've seen similar graphics (picture on top of the article) for master-develop-feature branches in most of the git resources. But here is a comment on that article, on Twitter:

 

"That seems like an excellent way to make Git even more complicated!
 Seriously, the most straight-forward and practical methods are the ones which will encourage people to use Git. If you over-engineer things people simply give up.
"

 

Anybody has any idea what the comment is referring to? I don't see any special way of using git by Delphi developers... git is git, Delphi is Delphi.

Edited by Mike Torrettinni
spelling

Share this post


Link to post

Git branches are powerful but they require some time to get used with, like every powerful but complicated technology. Good news is that you don't have to use this workflow unless you feel you're ready. When I was learning Git, I've had single-branch repos for about a year (I'm single developer). Then I started learning tags, branches, merging etc. Now I'm aware of Git ideal workflow but still mostly use single main branch and just eventually start a new one for a new feature.

Share this post


Link to post
1 minute ago, Fr0sT.Brutal said:

Git branches are powerful but they require some time to get used with, like every powerful but complicated technology. Good news is that you don't have to use this workflow unless you feel you're ready. When I was learning Git, I've had single-branch repos for about a year (I'm single developer). Then I started learning tags, branches, merging etc. Now I'm aware of Git ideal workflow but still mostly use single main branch and just eventually start a new one for a new feature.

I agree (well, I've only been using it for a few days...) At the beginning it was a hassle to work with branches, as I'm single developer. Now I see the benefit, but I'm not sure which flow I will choose - I like that change log shows bugs and features. Perhaps I will end up with single branch, too, not sure.

 

I'm trying out Fork now, what a change from 'right-click' TortoiseGit.

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

×