[fpc-devel] git / less steps of work // Re: [RFC] Modernising the FPC Release Process -- Proposal for Review
Martin Frb
lazarus at mfriebe.de
Fri Apr 17 17:37:40 CEST 2026
On 17/04/2026 17:18, Marco van de Voort via fpc-devel wrote:
>
> Op 17-4-2026 om 15:30 schreef Graeme Geldenhuys via fpc-devel:
>>
>>
>> General observation:
>> From an outsider’s perspective, it appears there was a migration from
>> Subversion to Git without a corresponding shift in workflow. Many
>> team members seem stuck in a "Subversion mentality" -- the idea that
>> branches are expensive or merging is difficult -- none of which
>> applies to Git.
>
> First, keep in mind that nearly everything I do is single commits.
>
> In tortoisesvn:
>
> - mark 6 repositories in explorer and click update. All repositories
> will be updated.
>
> In tortoisegit:
>
> - pull, stash window, rebase, stash pop prompt per repository.
>
> Just with the update you are already a two dozen of clicks in.
This mixes 2 issues (even though they can force each other in some cases).
The ability to update many at once => that is a simple script (batch
script on windows).
Of course that fails, the moment you have conflicts in the rebase....
But my advice here would be to at least have a script that either
- remote updates all repos
- remote update and then "git.exe merge --ff-only"
The latter means, if you are on a tracking branch, and it can fast
forward, then it will.
Otherwise you are left were you are now => resolve each rebase... (or
rebase later, and keep working on your local branch as it is now)
In my batch I have (for each repo)
"C:\Program Files\Git\bin\sh.exe" --login -i -c 'cd B:/lazarus_gitlab ;
git.exe remote update ; git.exe merge --ff-only'
The 2nd is the need to rebase. (after pull / including when you must
pull before push)
SVN simple forced that. It allowed you to push, and merged on the server
=> and you never knew if the result was good or not (well in 99.999% it
was good, so that flaw didn't matter).
So, if there was a conflict, even with svn you couldn't just push
(commit) => you had to pull (update) first and resolve it. So resolving
isn't entirely new.
Btw, my tortoise will => when push fails => offer me on one click to
- pull and rebase.
I think that got enabled when I changed the config for pull. (from my
conf file)
[pull]
ff = only
rebase = true
I still have to confirm stashing (their should be autostash, but I
haven't tried).
But yes, the extra pull is still more clicks than in SVN.
More information about the fpc-devel
mailing list