Perforce client root remapping - version-control

I am very new to Perforce so this might be a dumb question.
All the sources I work against are checked out in a Linux server and the location is shared via Samba. I mount that location on a client Windows machine so I can work but I am finding I cannot use the local Perforce binary on my client machine because of workspace path mismatches.
Can I configure p4 clients so that I can "remap" workspace paths locally?

Have a look at the AltRoots field in the client spec. It should let you specify that the two directory paths are the same client.

Related

VSCode Extension transfer files to remote target

I'm writing a VSCode extension and need to copy some files to a remote machine (this is not a remote development scenario, but rather I've cross compiled and need to copy binaries and supporting files to the device).
My initial plan was to use SSH and SCP the files to the remote target. However, I see that the VSCode FS API allows working with local and remote filesystems. Is this possible and how would I use this API to copy the files I need?

Local History directory?

VSCode just introduced a new local history feature built into the application. However I cannot find where the older version of files I worked on are stored on my computer when local history is turned on.
Does anyone know where the local history of older file versions are stored on Windows and Linux computers?
From https://github.com/microsoft/vscode/issues/26339#issuecomment-1070884696
That depends on how VSCode is run:
local desktop client with local workspace: local file system
local desktop client with remote file system backed workspace: remote file system
web client with remote file system backed workspace: remote file system
web client with non-file-system-backed workspace (e.g. vscode.dev): IndexedDB in the browser
When stored in the file system, there is a folder called History in
the folder User that is stored at the user-data-dir, which depends
on the OS you are on. That is the same location where e.g. also
backups go or UI state.
Following those directions, on Windows 11 local file system I found it at
C:\Users\Mark\AppData\Roaming\Code\User\History
for Stable and
C:\Users\Mark\AppData\Roaming\Code - Insiders\User\History
for Insiders.
I can't answer it for Linux. But see https://stackoverflow.com/a/70453798/836330 for more on user-data-dir and Linux. It says it is in ~/.config/Code on Linux but I can't personally verify that.
Linux
/home/USER/.config/VSCodium/User/History/
Windows
C:\Users\USER\AppData\Roaming\VSCodium\User\History
I am using VSCodium, so I imagine you will replace VSCodium with Visual Studio Code in the path.

In an eclipse based IDE, how do you access remote files through two ssh connections?

I'm working remotely and I need to access files on a server that's only accessible through ssh from another machine.
For example if my files are on server2, I need to ssh me#server1 then once I'm on that machine, ssh me#server2
Is there a way to set up remote systems in eclipse (I'm using Zend Studio) to get access to my files?
Thanks.
The short answer is No, however you you do have some options...
Eclipse is only aware of files in an Eclipse workspace (with some exceptions), thus you need to make your files available to your Eclipse instance. To do so, you could download the remote files and make them available locally or make te files accessible via a network share.
All in all, you need to make those files available on a file system visible to the local Eclipse instance. Once that is done, you can add/import the file into your Eclipse workspace.

Netbeans: Remote project w/source files over SSH?

Is it possible to set up a remote NetBeans C++ project where the source files are only accessible via SSH?
My project needs to build on a Linux box, but I'd like to develop it on a Windows machine.
Checking out the code via SVN to my Windows machine is not an option since there are a few files that differ only by case, and NTFS is not case sensitive (unfortunately, I can not change them).
I'm well aware that Windows can be kind-of forced be case-aware and the ideal solution is to just re-name those file to something sane.
However, I'm just trying to solve this using NetBeans. Since it's a remote project anyway, why bother to keep any files locally.
Thanks
Currently, no. In general programming files with different cases of the same name is a bad practice.
You can enable case sensitivity in Windows - you may need to have a Professional version or better.
For Windows XP: http://support.microsoft.com/kb/817921
For Windows 7: http://technet.microsoft.com/en-us/library/cc732389.aspx
See also: Windows Services for Unix
Another solution would be to setup VNC/RDP on the remote Unix system. The overall solution should be to conform to a better file naming convention:
Programmer 1: "Hey man, take a look at noCamelCase.cs - I just rewrote it."
Programmer 2: "Um, nocamelcase.cs is blank."
There are two ways of doing remote builds with Netbeans. The first, the project is stored locally. You just create a regular project and on the 2nd page of the wizard you specify the network directory with the source and the remote build host. I've used this for Solaris client to Linux server, but not from Windows as we don't have the mounts exported by SMB. This uses ssh and some shared lib interposers to get the build info.
The second way is to create a remote project. In this case the project is created on the remote host and date is copied on demand to the client. I've only doe a few tests with this as I preferred the first method as it had much better latency.
Lastly, you could either use vnc or install X on your windows machine and do everything on the Linux machine.

suitable packages in perl for with features mentioned in the subject

I need the package having below features:
needs client based secure file transfer machanism for getting files from multiple directories at the remote machine.
Must have features to do ls at remote machine.
Must have functions to know the file permissions at remote machine.
It have to use single connection for all file transfers.
That package have to use less number of resources and it have to do transfer at fast.
zipping the files at the remote machine.
Is this homework? And, have you tried searching CPAN? There are several modules that do what you need, such as Net::SCP and IO::Compress::Gunzip.
You can get most of this done with Net::SFTP. How well the remote server complies with the compression part is mainly a function of that machine. If it supports it, you can probably issue a site command to do it.