Hi,
I work on different PCs with different operating systems (Windows, Linux, macOS). What's the best way to work on the same Lazarus project? (not simultaneously)
a) Zip the project folder and transfer the ZIP file back and forth.
b) The project is in the cloud, and the directory is mounted as a network drive, etc.
c) CVS
I'm specifically looking for the entire directory, including all the files within it.
Which options would you recommend? Does anyone have experience with option b)? Is it suitable in terms of performance/latency?
Thanks.
Stefan
This is the 2nd post that suggests github/lab would be needed to sync between different computers.
...
git can talk to another git directly. without any need for gitlab/hub.
Yes, I believe it can but I have not tried it. And, with all due respect, I don't intend to. Creating and managing a github account is easy, its safe and its free. The peer to peer model may be too, I don't know. (I guess the initial account is getting harder as they force more security stuff on us. Might be an argument for peer to peer.)
@stem, I don't think anyone answered your question about a Lazarus plugin, no, as far as I know, there is not one. If you are primarily a Linux user, just think of it as a command line thing but there are GUIs. I suggest you always get in the habit of closing the Lazarus project before doing git stuff.
Davo
LazGitGui is a standalone Git tool for Lazarus, developed by Jesús Reyes A. (@jesusr, @jesusrmx, @jramx) [better known as LazReport maintainer].
LazGitGui is a git tool resembling the popular 'git gui' program, with some additional features.
If you don't know what git gui is, it is a graphical representation of the git status, where one can do basic git operations like watch what files under the work space have been modified and see the differences with respect to the original files. It also allow move files between the unstaged and the staged area and make commits from it.
Git Gui has some cool features not yet available in this program, for example the selective apply or revert of hunk and line changes from the diff viewer.
Contrary to Git Gui which relies on gitk for that feature, LazGitGui has a log feature that allows you to see the history of the repository and do some operation on branches and commits.
https://gitlab.com/jramx/lazgitgui--------------------
CCRDude Lazarus VCS Helper Package is a plugin for the Lazarus IDE that provides version control support for Git and Subversion, leveraging existing installations of TortoiseGit or TortoiseSVN. It integrates VCS functionality directly into the IDE, allowing users to perform common Git operations without leaving the development environment.
https://www.ccrdude.net/lazarus-ide-addons/https://gitlab.com/ccrdude-lazarus-ide/lazvcshelper--------------------
Another project is LazGit, developed by Marcus Fernstrom, which aims to bring Git integration directly into the Lazarus IDE with features like commits, pull requests, and branch management—similar to tools in VSCode or Eclipse. While not yet officially released, it was actively being developed and available ONLY to Patreon supporters.
https://www.patreon.com/posts/git-integration-47353869https://github.com/MFernstrom--------------------
And running on the outside, we have LazyGit - a simple terminal UI for git commands, written in the Go programming language, for use in the terminal:
Lazygit is a terminal-based user interface (TUI) for Git commands, created in 2018 by Australian developer Jesse Duffield. It simplifies common Git operations—such as commit, push, pull, branch creation and deletion, interactive rebase, and stash—through keyboard shortcuts, eliminating the need to memorize long command lines. Ideal for developers of all levels, especially beginners, Lazygit makes Git more intuitive and less error-prone, with clear visualizations of commits, branches, modified files, and differences (diffs).
https://github.com/jesseduffield/lazygithttps://www.freecodecamp.org/news/how-to-use-lazygit-to-improve-your-git-workflow/