1

Current p4 is configured as shown in screen capture I attatched. I've set p4d up in our NAS (Synology DS416play) and made repository directory there.

I'm trying to use P4V in workstations while NAS does p4d stuff and handle depot.

Seems I've set identical machine for both client and server. This I thought might be my issue directly associated with my question.

Q) Can I put depot in server (our NAS) and workspace in linked computers? I believed that's how it should've worked, but I'm getting something wrong. I've tried to handle this task mostly in P4V, but there I could only make changes of directories where both Depot and Workspaces are same route. Can you give a right direction how I should really do my configuration as I wished?

Mad Physicist
  • 107,652
  • 25
  • 181
  • 264
Arcana Affinity
  • 307
  • 7
  • 18

1 Answers1

1

P4V is not used to configure the P4D server. The actions you were taking in P4V were only configuring your particular workstation's P4V setup.

Perforce is a client-server system. You must configure the server software and run it on some server machine which is accessible by all your clients.

On that server machine, the simplest configuration requires you to decide:

  1. Where should the server store its data files (P4ROOT)?
  2. What network address should the server accept connections at (P4PORT)?

Then each user installs P4V on their workstation and configures their own workstation to access the server.

The client configuration is straightforward, and generally consists of three settings:

  1. What's my username on the Perforce server (P4USER)?
  2. Where do I want my copies of Perforce-managed files to go on my workstation's filesystem (P4CLIENT)?
  3. What's the network address of the Perforce server (P4PORT)?

You may also need to configure your networking software (firewalls, routers, etc.) so that Perforce's TCP/IP connections can be established on the P4PORT that you picked.

And, naturally, be sure that you monitor your server: take regular backups (and ensure they are stored securely), make sure your server has adequate disk space, CPU, RAM resources, etc.

There are many other configuration settings, both on client and on server, but these are the basics.

EDITED TO ADD:

On the server, there are two sets of data:

  1. The contents of the files that you have stored in Perforce (typically referred to as "the versioned files", or "the archives").
  2. A database with extensive metadata about the files, changelists, integrations, users, and other aspects of the Perforce SCM.

(There are a few other sets of data, such as checkpoints, journals, logs, etc., but the above are the principal datasets.)

The database is stored as a set of files with the naming pattern 'db.*' (db.user, db.rev, etc.) and are located in the P4ROOT directory.

The archives default to being stored in the same location as the P4ROOT, but can be stored elsewhere. The location of the archives is configured on a depot-by-depot basis using the p4 depot command, as documented here. If you want to store your archives for a particular depot in some other location, check the instructions here and here.

Bryan Pendleton
  • 16,128
  • 3
  • 32
  • 56
  • Totally great heads up! Big thanks to you. I was kind of getting the feeling that P4V and P4D are not meant to be set up as I was doing just about few hours ago as you pointed out, but you just cleared it up for me. Now I get much more clear picture! – Arcana Affinity Apr 29 '17 at 15:42
  • 1
    So comes my follow up question: In order to establish access from depot in our server to workspaces at each connected workstations I need to have P4USER, P4CLIENT, and P4PORT. What does it look like in unix command line(I say this since I used PuTTY for setting up p4d in our NAS as server)? I take I need to do this in my perforce.sh where such commands like 'export P4ROOT=<>' are declared? I've set up my necessary group and users all set via P4A, How do I make this communicate with my p4d in unix? – Arcana Affinity Apr 29 '17 at 15:42
  • 1
    https://www.perforce.com/perforce/doc.current/manuals/p4guide/chapter.configuration.html I recommend using P4CONFIG and/or "p4 set", personally, but you can also use local environment variables as you describe. – Samwise Apr 29 '17 at 15:50
  • 1
    Thanks to you too Sam! I now see all our workstations are logged in to our server with P4V and all their local workspaces are set! Can't tell yet all of them can push & pull correctly yet, but they are in. I take at this point I need to look into making use of our currently blank depot? I've set our main depot as a streams. I am still quite confused about this. Though in my p4d 'p4 set' tells me P4ROOT is where exactly I wanted the depot to be, but in P4V when I right click the depot and choose 'show in explore' it opens local workspace. I'm assuming that's an wrong guess, though. – Arcana Affinity Apr 29 '17 at 15:59
  • Seems I've got all set and done! Big kudos to you both! Bryan and Sam! – Arcana Affinity Apr 29 '17 at 17:42
  • 1
    I still wonder how to monitor / view files in my server, though. Because I don't. Here's where I am about this: In our server (Synology DS416play) the depot exists and are all good, but it's in /root/repository which DSM doesn't show. Therefore I 'ls -al' in there still shows nothing. – Arcana Affinity Apr 29 '17 at 18:09
  • I don't think you'll see any files or directories in the server's depot area until you submit some files. Have you already submitted some files to the the server? Or do you expect the server to still be empty at this point? Try using 'p4 add' to add some files, and 'p4 submit' to submit them, and then look in the server's filesystem. – Bryan Pendleton Apr 30 '17 at 02:00
  • In fact I already have. Streams depot is baehaving as it should in all 4 connected workstations even with mainline , dev, rel streams. The odd thing is in PuTTY I don't see them. Could there be an alt route different than what my p4root shows? – Arcana Affinity Apr 30 '17 at 04:08
  • If that wasn't exactly what you were trying to understand, it's probably better to ask a brand new question on this site, with as much detailed information as you can provide. – Bryan Pendleton Apr 30 '17 at 17:01