Do git merges for remote machine locally and with a GUI - linux

So I have a remote Centos server running a small app and I have a git repo set up on that machine. To date, I've been running git from that centos server via ssh terminal, including doing some merging via mergetool, specifically vimdiff. This is...okay. Not great. A terminal editor split into four panes is vaguely terrifying.
What I would like to do is handle the merges via a Windows machine and some friendly GUI based merge tool, but I don't want to clone the repo to the windows machine. I want the windows machine to perform the merge on the Centos machines files directly.
I suspect this is possible, but I'm not having much luck with google. A link to instructions would be fine.
Any help?

Related

How can I open RDP using Ansible?

I am working on automating the installation of a custom, in-house software using Ansible on a windows host. During the automation process I have found that one of the msi installers is broken and as a result have to be run interactively on the machine.
I want to trigger the process to run interactively on the machine so the installation completes properly.
The challenge is to open a RDP session from Linux to the windows host to enable this to happen. I am using WSL.
I would like to keep the number of additional dependencies to a minimum.

How can I mount an aws linux instance locally?

I work on a windows machine but I ssh into an AWS linux box to do most of my work. I'm trying to figure out a way I can use my local tools (specifically Spyder) to open up files (python files) from the server so I can edit them in the IDE and then run them on the server. (Note: its not just for code, I also want to be able to open csv's I generate, etc...).
Many modern IDE's provide this option through SSH, looking at the documentation for Spyder, it seems to refer to this configuration as a 'remote kernel'.
I do not use Spyder, but I use a similar configuration to do development with Visual Studio Code on my laptop with remote execution over SSH to an EC2 instance. In VS Code it is referred to as Remote SSH, you open a folder on the remote server as your VS Code workspace.

Use Windows IDE to work with remote project on Linux

I have a project kept in Git repository which is compiled on a huge Linux server. Currently, I connect using SSH to the Linux server, modify the files there and then run commands to compile and execute it.
Everything is done in command line which is really painfull and I would like to use an IDE on my Windows machine which can connect to the remote Linux machine using SSH. I just need the IDE for file modification, auto complete and similar stuff, function resolution etc. I don't need to be able to compile or debug through IDE.
Mounting using Samba or Sshfs is out of the question because it is too slow. I need speed. If I click save, it needs to be save. Autocomplete should work like locally, it should work as though the files are on my machine most of the time.
Can somebody recommend an IDE which this qualities and information on how to set it up.
Thanks
The best thing that worked out for me is Unison. You have to have two copies of Unison, one on Windows client and one on remote Linux. You checkout the repository on the remote and then run Unison to synchronize the remote copy to your local. It connects to remote through ssh. Every time file is changed both locally or remotely, the other side gets updated instantly. Works well on slow connections.
You can then use your favorite IDE and work locally. The only quirt is that Unison must be same version and compiled with same Ocaml version (in my case Unison 2.48.4 with OCaml 4.0.4.). I had to compile it manually for Linux and for Windows I downloaded provided binary.

Setting up Rsync to pull from Windows to Linux Box using cwrsync

I have a set of machines, a mixture of Linux and Windows Boxes.
I hav set up rsync to pull from the Linux Machines to a Linux Server box.
I am trying to accomplish the same using cwRsync, to pull to the Linux box from the windows machines. I have downloaded the free version from https://www.itefix.no/i2/content/cwrsync-free-edition and also I have downloaded CopSSH. I have managed to install CopSSH fine and I am able to SSH between the Linux and Windows hosts no problem using keys rather than passwords.
However, for the life of me I can't get this cwRsync working, I've googled the matter to death, and your meant to unzip the directory, configure the environment settings in the batch file then install it. However, there is nothing to install it with! and the reason it isn't working is because it needs to install a windows service for it to run.
Any help would be much appreciated!
As described at itefix web page for the free edition, it allows to initiate rsync from your Windows machine, i.e. client functionality only (push data). Server functionality allowing you to set up an rsync server on Windows to pull data from it is not a part of the free edition.

Updating SVN working copy on Linux network share mount

I have a working copy of a repository on a Windows web server. If I update/commit the working copy using TortoiseSVN (1.7.6) or the command line (version 1.7.8) "svn update" on my Windows PC I have no problems.
However if I am on my Linux Subversion server (where the repository lives), accessing the working copy through a CIFS mount, without fail within 10 updates/commit the file .svn/wc.db will have become corrupted. Sometimes it is with the message
svn: E200030: sqlite: database disk image is malformed" and sometimes it is a message like "svn: E155010: Pristine text 'd9a9a3ee5e6b4b0d35b​fef95601890afd80709'​ not present
I can clean up the corruption every time it occurs, but clearly I don't want to keep having to do that - I am struggling to work out the cause of the problem.
My Linux Subversion server is also using version 1.7.8. What could be causing the problem?
It is probably because the internal representation of the files or in the database are slightly [or much] different on a Linux and a Windows machine. Make your own copy on the Linux machine, and commit from that into the central repo, then pull it down on your windows machine.
In general, it's never a good idea to access the same copy of a version controlled repository from two different machines.
I use SVN for web work, and that's how I work - I do nearly all my work on a Linux machine, but I do have a repo on my windows laptop.

Resources