#source-control
1 messages Β· Page 43 of 1
i really dont know if i could throw another week in only to play around with plastic scm only than to find out its not that good
/shrug
I say that, I don't want to spend a week on something
and then it takes me a month
π
I really wanted to like plastic
and honestly it's best VCS out there
but
i just cloudn't configure it to ignore files the way I can configure git
they have really over engineered the ignore.conf
instead of just working like git and interpreting it from top to bottom
@iniside @plasticscm Good news! Our team is adding support for gitignore files as we speak. Expect a blog post on this soon.
plastic has way more problems than that
i remember the cloaked files functionality being totally broken a few years ago
git like workflow wasn't good for artists either and gluon was too limited for them
perforce will remain the industry standard for a long time
never used that features so hard to say
but
what convinved me to Plastic
was the fact that on custom server on digital ocean it was order of magnited faster than perforce
not to mention git
but I cloudn't configure files ignore to work like I wanted
now that it is fixed i just want integration with Azure DevOps π
3 years of professional UE4 VR dev with our team on Plastic: love plastic, and the software is getting better and better. Perforce was a nightmare for us, Plastic is really easy to use, has a nice UI dedicated to artists and designers. If you can choose I highly recommend using Plastic.
how do you get p4v from the word perforce?
p4 = perforce and v for visual
Okay, I wasn't sure if it was just made up or actual corporate jargon
its made up actual corporate jargon
π©
How do I actually get blueprint diffing to work? I installed P4Merge and it just keeps opening the text diff tool rather than visual diff. The "tutorial" in the documentation says nothing about how to set it up
@crystal widget the diff is done inside UE4, when you enable in-editor source control
Yeah I get that, I'm using the built in Git plugin
but I can't find any documentation on how to actually get it set up
it's just "click the button and there it is"
you have to use git config to set it up for uassets
Are you trying to diff outside the editor?
launch UE4Editor.exe -diff
Actually wait, it is working. I assumed diff support for widgets applied to editor widgets too
-diff [options] left right
-diff [options] remote local base result
oh cool
I was confused as to whenever I tried to diff it was diffing it as text
@quaint obsidian last I tried that with git it wasn't reliable with LFS. A lot of times it failed smudging the LFS uassets.
but it's because support for widgets != editor widgets
by editor widgets you mean the new umg based ones?
you have to setup LFS to use git lfs checkout
it's probably just an oversight if that doesn't work, since they're not really special at all
or else itll merge pointers
It was set up. Diffing working copy worked, but viewing history was hit and miss
hmm, haven't had that one sorry
One of the many reasons we moved away from git at work
what version of git lfs?
You mean server or client?
client
Don't remember, it was nearly one year ago. I tried to keep git up to date.
I think the git plug-in was the problem
The beta one. The built in didn't even know what LFS was
yeah, i think it's gotten better
i think we were just really lucky with timing
when we picked up git
We moved to SVN and it's been smooth sailing so far
Art team is using it with mind boggling sized files, in the gigabytes.
See I'm in my workplaces art team, we were using SVN but our Dev team moved us to Git
So it's what I'm using at home too (Don't want to confuse myself with different workflows)
If anyone is thinking about using Git because you don't like Perforce, I highly recommend GitLab, even the free edition, coupled with Git Large File Support
We have a self hosted instance of GitLab that we've been able to use to host the entire project without any issues, source files are checked out normally while binary assets are hosted using the LFS system
yeah we're using gitlab too atm but will be moving to github
We use GitLab at work but 2FA is totally broken. I use GitHub at home
2FA works here π
mark for add doesnt actually add all the files in the folder... π€
have to manually go in each folder and make sure they have been added to source control, a lot of them aren't
Hi everyone.. I have a p4 question:
Imagine we're working in 3 projects: A, B and C
Imagine we have a depot (P) with all our plugins and we recently started using UGS. The problem with UGS is that we need to have A, B and C in the same workspace.
Because of that, I need to import P to all 3 projects, but p4 doesn't like to import a different depot multiple times, I guess... has anyone had a similar project
import+ A/Plugins/... //Plugins/...
import+ B/Plugins/... //Plugins/...
import+ C/Plugins/... //Plugins/...
^ only the first line works
do you guys know a solution for this?
is it possible for two or more devs to work on the same map at the same time?
Get multiple users on different computers into a shared Unreal Editor session, collaborating live to build content together.
with just normal editing, source control has to either lock the file or shit fucks up when merging
Has anyone had any luck getting a CI/CD model working? Iβd prefer a solution that doesnβt involve hosting my own Jenkins because windows servers are crazy overpriced.
Iβve been looking at GitHub actions, TravisCI, and codeship but they donβt seem to offer windows options (canβt say I blame them but still)
This would be specifically for packaging the game
you could set up jenkins or teamcity on a spare pc if you have one
I know bitbucket also has the pipelines if you're already hosting your repo on their cloud
like 500 min / month for the base 2 dollar per user subscription
never used that with unreal though
we use a local machine at our office like I mentioned before
Gotcha ok. Hmm local machine might have to be my go to then
Thanks for the response!
If you're new to CI I would definitely recommend teamcity over Jenkins though, way more use friendly imo
that does look pretty nice
Hello does anybody know a reason or solution to this?
I keep getting hit by this when me and my teamate try to sync up to perforce
try syncing with the editor closed
ok will do thank you Allar
yeah in editor syncs have been giving my team crashes lately
I don't think that has ever actually worked for me
it won't work, cause the file is trying to be replaced, but you can't delete a file that's in use, which the loaded assets in editor are
no the editor has a Thing where it pretends to be able to hot reload the assets if you click the sync button in the editor
but the actual result is broken references and it dying
I just know it dies on unable to unlink assets all the time when pulling git with the editor open, and seems logical to me
I wonder if it works if all editor tabs are closed and we load an empty world with nothing in it
does anybody know what Epic Games uses for source control for their Fortnite Project?
perforce
is the free perforce indie pack any good?
I don't think there's a feature difference with full version
except that you can only have up to 5 users
no, we use git
i heard git does not work well with larger game development projects, as it cannot handle merges "properly" , if its not for source files. whatever that means
its supposed to cause more headaches the more art-related files you have
would you call it bullshit? xD i find that hard to believe, to be honest
no, definitely true
but perforce would also fuck up you large binary files
the advantage with perforce is, you can lock those files
so you can prevent multiple people from working on it
afaik all sourcecontrol fucks up binary merging
but if you're working with less than 5 people or have enough money, I think I'd recommend perforce over git for unreal though
the new git plugin solves the locking problem
you can lock files while you are working on them and haven't pushed yet
and it does not allow you to edit files that have a newer version on the remote repo
which plugin ? (;
it doesn't even work with single branch properly
What's wrong with its single branch?
it doesn't communit with git directly
communicate*
git doesn't know if file is checkout
and locked
and you can easily create contention when two people are trying to lock the same file
LFS file locking does not prevent conflicts at all, since the locked state is not tied to a commit
It's poorly thought and mostly useless
It prevents people from editing the file while it is locked, but as soon as the file is unlocked they can open the outdated version and create a conflict
It's easier for centralized VCSs to improve their branching and merging than it is for git to implement proper file locking, since it's incompatible with the core architecture of git
file locking/ownership depends on linear history. In git, history is not linear
@dim pond not entirely true. there's already a proposal for git lfs locking that solves those issues and the plug-in already solves the issue
@river tinsel what do you mean, it checks origin for new versions
@quaint obsidian do you have a link? The closest thing I know was a talk at Youtube with a custom solution that did away with locking altogether, but is completely ludicrous IMO.
The obsession to make git work for things fundamentally contrary to its core design, by piling kludge after kludge on top of it amuses me.
Ah, that's in the UE4 plugin. I mean the actual LFS locking feature itself.
is it possible to diff a blueprint not just against the previous version, but say 10 revisions ago using perforce?
I haven't had to mess with anything raid related in a long time so I'm likely behind on what's good to use. What should I look for when setting up a NAS for hard drive redundancy? What's good to use for something with 2 to 6 ~4TB+ drives?
I'm wondering what RAID level to use or if there's something else in use now that I'm not aware of.
@kind olive ZFS on FreeNas or Proxmox. Raid10 is a good mix of speed/redundancy and rebuild times
@abstract elbow Thanks. I was looking at FreeNas before I saw your message. I think I'm going to go with it and Raid 6 for now. I might switch to 10 later though when I am able to add more drives.
I also was not aware of ZFS. Thanks for the heads up on that.
Cloning into 'D:_repo'...
FATAL ERROR: Network error: Network error: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Anyone help please. That is gitea. ip is proper like a username. i just replaced it to not make them public
https clone works ssh not.
i changed main ssh port to 2222 and gitea to 22
22 is allowed in ufw. SSH key added in the profile . And authkeys rewritten with gitea function. also i checked manually . authorized keys file contains my pub key.
Idk what's wrong π¦
Please.. Help π¦
@light hollow how did you copy the pub key?
also you need to write /d/_repo if you're using git bash
@quaint obsidian ofc cd from the repo
i have copied ssh-rsa XXXXXXXXXXX ==Vestalfa
rsa.pub
main thing i cant understand that's event dont says "access denied" etc it says "refused"
but its the same i think now
All ok via https but my team asks me to provide ssh ability to use git lfs
@light hollow GIT_TRACE=1 git clone
git lfs doesn't do ssh
even if you go through the ssh adress it will still use the http I think
at least on bitbucket it's like that, but I assume it's and LFS thing
ik
i answered them too: lfs anyway https
but they said they saw thread on forum about lfs = ssh
thank you for response
and sorry for long response time
i had shower , to give rest off the problem
removed putty bcause trace said ```$ GIT_TRACE=1 git clone git@IP:Vestalfa/Test.git D:_222
17:29:07.159772 exec-cmd.c:238 trace: resolved executable dir: C:/Program Files/Git/mingw64/bin
17:29:07.160773 git.c:439 trace: built-in: git clone git@IP:Vestalfa/Test.git D:_222
Cloning into 'D:_222'...
17:29:07.169781 run-command.c:663 trace: run_command: unset GIT_DIR; 'C:\Program Files\PuTTY\plink.exe' git@IP 'git-upload-pack '''Vestalfa/Test.git''''
FATAL ERROR: Network error: Network error: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
@quaint obsidian Big thank you for trying to help me.
did you add your key to your ssh agent
and in the ~/.ssh folder
at least for openssh you do that
yes
i have connected to sever via CMD on windows
with ssh
i moved ssh for remote control to port 2222 and its works
but gitea ssh even dont listen on port 22
how to check out added i to agent or not ? sorry for common answer
just my brain is crying
i have installed gitea once (month ago)
and it was going well with ssh
do you have logs from gitea ssh?
ill check now
i must
locate gitea.log ?
Lol....
the folder dont contains ssh log
var/lib/gitea/log
i can show the gitea config
may be that's unmatter its cat gitea.log
RUN_MODE = prod
APP_NAME = srv
RUN_USER = git
RUN_MODE = prod
INSTALL_LOCK = true
[security]
INTERNAL_TOKEN = XX
INSTALL_LOCK = true
SECRET_KEY = XX
[database]
DB_TYPE = sqlite3
HOST = IP:3306
NAME = gitea
USER = gitea
PASSWD =
SSL_MODE = disable
PATH = data/gitea.db
[repository]
ROOT = /home/git/gitea-repositories
[server]
SSH_DOMAIN = IP
DOMAIN = IP
HTTP_PORT = 3000
ROOT_URL = IP:3000
DISABLE_SSH = false
SSH_PORT = 22
LFS_START_SERVER = true
LFS_CONTENT_PATH = /var/lib/gitea/data/lfs
LFS_JWT_SECRET = XX
LFS_HTTP_AUTH_EXPIRY = 720m
OFFLINE_MODE = false
[mailer]
ENABLED = false
ENABLE_NOTIFY_MAIL = false
[service]
REGISTER_EMAIL_CONFIRM = false
ENABLE_NOTIFY_MAIL = false
DISABLE_REGISTRATION = false
ALLOW_ONLY_EXTERNAL_REGISTRATION = false
ENABLE_CAPTCHA = true
REQUIRE_SIGNIN_VIEW = false
DEFAULT_KEEP_EMAIL_PRIVATE = false
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
DEFAULT_ENABLE_TIMETRACKING = true
NO_REPLY_ADDRESS = noreply.example.org
ENABLE_FEDERATED_AVATAR = true
[picture]
DISABLE_GRAVATAR = false
ENABLE_FEDERATED_AVATAR = true
ENABLE_OPENID_SIGNUP = true
[openid]
ENABLE_OPENID_SIGNIN = true
ENABLE_OPENID_SIGNUP = true```
@rotund bobcat ooops.
add your ssh key to the agent https://help.github.com/en/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
added
ok
that is the key you generated right?
yes
i using the same key to connect to ubuntu from cmd ssh
and that key added in gitea already
@rotund bobcat
first i havent installed putty
second i have installed
well
don't use the "putty SSH stuff" when you install git
especially since you didn't even install putty first π
second, ok you want to use putty (plink actually) to handle your ssh handshake and the like
but did you add your ssh key to the putty key database?
probably not I'd say
also note that Putty uses keys in different formats than OpenSSL so you need a tool to convert them from one to another π
honestly, just stick to OpenSSH for Git
i have added key to putty db and to the git
still ```$ git push -u origin master
FATAL ERROR: Network error: Connection refused
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
I'd remove git and putty now and will do clean reinstall
you can use that Stackoverflow link to see how to reconfigure that without reinstalling git π
pretty sure putty isn't even the default setting for the installer btw
@pseudo osprey yes it isnt π‘ π₯
k. i wanna cry.
completely reinstalled git
using openssh openSSL
cd D:_Repository
eval $(ssh-agent -s) && ssh-add "C:\Users\Vestalfa.ssh\id_rsa"
ssh-keygen -t rsa
$ ssh -T git@IP
ssh: connect to host IP port 22: Connection refused
@pseudo osprey Sorry if you bussy π
May be i just should dont use ssh ?
or LFS dont works with http ?
we will just need to load 3gb+ per file
LFS is always HTTP but shouldn't care how you connect with git to the repo itself
Oh
(I think it's always HTTP, anyway that's not the issue)
well I like using ssh to connect to gitlab/github
because I don't need to enter login/password π
oh. sure.
may be i must reinstall completely ubuntu ?
i really dont know whats wrong now xDDDDDDDDDDDD
hey, anyone around who has experience with merging blueprints from 2 different perforce streams?
i.e. i'm merging 2 streams in p4, and there's a conflicted blueprint - but using "Merge" inside Unreal is only showing history from the 1 stream
(@-me if you reply as i have notifications turned off π )
anyone have experience setting up a perforce replica server? Looking to automate replication to a second server in a different region.
Anyone tried plastic scm? Thanks
does anyone have a step by step guide to setting up SVN ? I tried a couple but they all seem to be missing a step or two
Hey guys i'm very much new to source control and i'll be using git for it but i have some questions tho
does my team need to have the project too? in order to make it work?
they can clone the project from your repository
or do you mean local git
cause if you're using git local and your team is not using git, it's kind of weird
but if you're hosting your project somewhere, they can just clone it with a url and they will have the project exactly like you
I can't connect ue with git source control, there is info that there are no assets to check in ant that message in message logfatal: C:/Program Files/Epic Games/UE_4.21/Engine/Content: 'C:/Program Files/Epic Games/UE_4.21/Engine/Content' is outside repository
So private git server, main issue i found was that i was semi expecting like any ssh / ftp / anything for git to store the files as what they were instead of being object files... this threw me and as such without being able to physically see them, it made me think everything was broken when it was working.... just a heads up for anyone who tries this, using a 2nd branch with different data and switching should unload / reload the contents to show objects as is from the client
Does anyone know of any place where to ask Perforce specific questions? I could find literally nothing online
perforce used to have forums. idk if they exist anymore
I eventually just restarted my AWS instance which fixed my problem. P4 admin restart didn't fix it for whatever reason
@jolly fog a bit late but yes, and it's awesome, recommend it 200% (using it professionally since 2016, and the software keeps getting better and better)
Honestly, if you are starting a project now without any dependency to any source control software, I don't see any reason to choose something else than Plastic (for game dev and similar I mean). If you have a budget of course, if you need free, then git lfs it is.
With perforce, can I make private local changes to my uproject file, without checking it out or submitting it?
Reason being so I can use some editor-only plugins locally without needing the rest of the team to have to install them
@flint vessel Set the file to Writeable in Workspace in P4V
@molten marsh Sounds promising, though I can't find the option to do so - will keep having a look around
Sorry. Right click the file in the depot view and go to Change Filetype. There will be a checkbox in the dialogue that appears.
@flint vessel you can always simply right click the file and uncheck "read only" for quick and dirty local changes
Gotit! Thanks π I assume this won't affect anyone else using the depot?
It will.
@dim pond What I really want is to have my changes ignored by the server, and overwritten when anyone else makes changes
Using Netos option works better if you dont want a permanent shared change
I would avoid leaving the workspace writable, it makes it way too easy to create untracked local changes
It was a hard learned lesson when I started working with perforce after being used to git and svn
I'll give it a go - I only want the .uproject file writeable, if I need to make any changes to it I can revert to the repo version first
you can also simply checkout the uproject to a new CL and never submit it
since they are text files, checking them out doesn't lock the files for other users
putting it in a new changelist would not leave it checked out, preventing other people from making changes?
oh! thats good news, feels a little more like git π
only binary files are locked when checked out
OK, so it perhaps is not an issue even if I just leave it checked out and don't submit my changes?
yep, that's fine
as a bonus, if someone else updates the uproject file, you can merge their changes
well, fantastic! My assumption was that it works the same as a binary file - much happier with perforce knowing this π
Thanks again @molten marsh and @dim pond
@flint vessel traditionally I make a CL in p4 called DON'T CHECKIN and then check it out and put it there for local changes I don't want to submit its good for bookkeeping. setting things by filetype to always be writable is dangerous and should only be used when you just wanr files to be available for reference that people change and never submit
oh apparently I should have kept reading lol sorry to dupe advice
@humble surge no worries - thanks for the extra detailed tip! I'll probably end up doing exactly that
Setting writeable in workspace is only βdangerousβ if you dont understand the consequences of doing so...
@red juniper seconded, Plastic is an affordable p4-like
Perforce is not seeing the changes I'm making to CPP files. I edited one in visual studio and it doesn't seem to recognize at all that's it different than what is on the server.
right click source folder and reconcile
I'll try that. I tried installing the perforce plugin for VS but it just errors after being installed in vs 2017
Has anyone used the dynamic data cache (DDC)? Can you use the same DDC with multiple different engine versions?
Every time I start up the engine, it doesnt seem to auto-reconnect to source control. am i doing something wrong? I'm just launching the editor from library>my project
but each time, I have to manually reconnect to source control (perforce)
@keen elm Everyone uses the Derived Data Cache, but a shared one is what will differ from person to person. But to answer your question, no the data will be different between engine versions. Tho the cache might contain data for different versions.
@wanton ridge ok, yeah that's my question -- can multiple different versions of UE all used the same shared DDC...
sounds like yes π
oh that reminds me, if we build a new version of ue4 that's one commit different, how can we prevent the DDC from having to be rebuilt?
@quaint obsidian I think the DDC stores data by hash, so if a different commit causes the hash to change, that's a new entry in the DDC. Need to confirm, though.
Commits won't cause the DDC to become outdated, changes to the engine version will however. I don't believe changes to the patch version number shouldn't invalidate the DDC but changes to the minor number definitely will.
Are we doing something wrong with the Build.version? Because we left it as is and it keeps rebuilding DDC
Hi, I've got problem with source control when I duplicate something on the level. When I drag with ALT some object, there's popup with text "updating files source control status" and dragging is canceled. It's really annoying with thousand of objects; the workaround is turning off source control but I don't belive it's a good solution
have you checked ou the map file?
evidently Epic rebuilds the DDC every night with an automated process, so I'm not sure there's a way?
Hello any perforce pros here lol
I'm having this weird problem where one of my teamates has accidently checked out the Entire project and can't submit it back
or is there a super admin check in?
why submit it, revert it
hmmm, my guy couldn't seem to do that, i just ended up deleting him from the user list
He most certainly should have been able to revert it.
Looks like they added RoboMerge to the engine, definitely keen to try it out at some point
https://github.com/EpicGames/UnrealEngine/tree/master/Engine/Extras/RoboMerge
@smoky trench whats that
Additional free software for Primera Disc Publisher to burn and print with your cd dvd robotic system.
no
oh, i think its their merger for the perforce branches
the one with the ROBOMERGE commits
weird that i couldn't find any details on it
other than a domain robomerge.epicgames.net
why would there be any details about an internal tool somewhere
thats a very good point
the tool was made public on UDN request
has anyone been able to install https://github.com/SRombauts/UE4GitPlugin
successfully?
yes
how did you install it can you explain me a bit
yesterday I tried
but when I tried to open UE4 it said it was to compile the plugin
but then failed to do so
and project wont open
@quartz depot what's the log
well I don't know it just doesn't open UE4
and puts a window saying this
like this but UE4GitPlugin
and when I click yes
yeah, if the version that the plugin is built for isn't the engine version youre using, youll have to build it
and then fix any errors
it will try to compile to say that he couldn't
Are you trying to use the UE4GitPlugin with Unreal 4.23?
yes
4.23 support isn't out yet.
The latest version is for 4.22.
That's why you're getting the error. π
Unless the latest version has a feature you need, you can use the built-in version until he releases 4.23 support.
I don't know which version comes with 4.23 so I don't know how old it is, but it will work.
one question
how well the git
merges stuff like maps
if I'm working on a map
and change a tree of position
and push
and my friend is moving some rocks
when he pulls
the maps will not be the same
but because they are Git LFS
will they be able to merge correctly
and have my tree moved + his rocks?
we have 4.23
@quartz depot that's not how VCS work, when you edit a file you checking it out (in Git LFS - file lock) for editing, anyone else could not edit it until you check it in...in cases when edit was made on both ends a conflict occurs, and you have to resolve it (for binary files that means picking one of the versions)
Does anybody have used or uses https://www.plasticscm.com/ ?
A version control that will help you develop new features in parallel, go distributed, merge in time, and never break a build again.
I'm planning on going back to UE4 4.22 until the git version is upgraded
can i just mark it writable, reconcile offline work, and then submit in order to make my local changes the "source" version of the file?
Hi eveyone! I have a 4.22 project on Github using source control. I forgot the process of migrating to new engine version (4.23) ?! can some one explain it for me I'm lost haha
are you using a source version or binary version of the engine?
binary version (from launcher) @rotund bobcat
then you can just download the 4.23 and open the project in that and it will try to upgrade automatically
Ah cool I forgot to try "Convert-in-place" thanks
@quartz depot yes and it's awesome (I feel like an evangelist on this channel xD)
really
how much can you tell me I would have to spend for a small game for 2-3 people?
Yes, using it professionally since 2016, never regretted it
Well it's hard to tell. Look at their price plan. It also depends if you're using the cloud version or not
But on the cloud you pay per people and also relative to the space you take on their servers.
6,95$ per user
Plastic Cloud Edition pricing plans fit your storage and user needs.
Actually it's pretty straightforward
and
is it like perforce
where you can host your own server?
on digital ocean for example?
Going to page @open bone for his thoughts on Plastic as he has been using it extensively
i like plastic
it has some odd issues
it's not the biggest fan of submitting binaries to source control
so straight up don't do it
binaries i mean .dll, .exe, and .pdb files
which one is better to use? https://i.imgur.com/Sd2fa24.png
Trying to set up source control for the first time in my life may just be the biggest headache I've ever experienced. Tried Perforce since it was the first listing option within UE4 and as far as I can tell, Helix Core won't work with Helix TeamHub and TeamHub requires some other repository tool. I've spent 2 days on this and have barely managed to just get UE4 to at least connect to a local workspace... And the best I can tell is that I'd have to put all the game files on to a single server location and have both users open the project from that location just to get the workspace to be accepted... With the two of us being in different countries and thus either having the server online or whomever has the higher upload speed host the files personally... And I still don't even understand how a workspace differs from a depot and why both users would have different workspace names when there doesn't seem to actually be a purely local copy. I am so utterly lost and confused now. π
yeah it seems really cool
definitely gonna try it for our next project
kinda stuck with git atm though
git has been working fine for me alone
jajaja
maybe when my partner starts to play around
it will get ugly
I created a Perforce depot but the folder isn't in my server folder (?)
i been using git for my project for a year now and some things are starting to bug me,
mainly when i make a change to a blueprint the whole binary changes and must be updated-w/e
i can put in the commit message that i changed the health of something from x to z but it wouldn't obviously show this cause its a binary file
is this just how things are? or can other versioning software like perforce help with this ?
Unfortunately, you're going to see that behavior with binaries for any version control system.
None of them can parse binaries the way they parse text. As I understand it, they're all different on the inside; there's no universal equivalent to text that resides inside every binary file, so the best we get is detection if the binary has changed at all, which unfortunately includes when you add something, then undo it... still marked as changed.
The only way around that would be a bespoke solution developed specifically for the app that produced the binary, like Blueprint diff tool, for example.
@jolly fog make your blueprints be graphics or code only
have your parameters in data assets
that can be saved as json or csv, and those diff well
the bp diff tool works pretty well
oof
What's a source or binary version of ue4?
this generally refers to whether you built the engine from source yourself or downloaded it from the launcher
Thanks alot!
Is SVN a viable option over Perforce?
I've used Perforce extensively, and not used SVN before. But hosting options for SVN are cheap in comparison.
we use svn a lot at work and it works ok. But we use both git for the code and svn for the project assets
My code base tends to be fairly small. I assume they could both be in SVN?
Thanks. I'm going to look at some tutorials or something for SVN. I've just had no luck finding reasonable hosting for P4 that doesn't require me to completely manage it myself.
Are there any reasons I might not be aware of to use Perforce over SVN? I don't want to get too far along with SVN and find out there's a reason Perforce is more often used that I missed.
SVN is fine, add file locking if you have multiple people working on the same project though
I dont know if moving to perforce now makes sense at all... SVN does a lot for free and maybe plasticscm is better option than perforce if svn is not your thing https://www.plasticscm.com/
A version control that will help you develop new features in parallel, go distributed, merge in time, and never break a build again.
Thanks. I already use Perforce, it's just hosting is a pain with it. I'm looking for ease of use and cheap hosting
@kind olive I would guess that perforce would be better for larger Teams. Here is a site for you: https://www.perforce.com/resources/vcs/perforce-vs-svn .
But if you are solo dev or a small team I would assume that the effort of using perforce over svn isn't that much in comparing the price and effort of hosting perforce by your own.
Why do teams prefer Perforce vs. SVN? Built-in code review. More than basic merging. Straightforward release management. Performance and scalability. Managing Git repos. Working offline. Finding file history. Out-of-the-box security. Global teams.
Ive just setup source control and git - now for everyone else to use it - do i need to install the githup desktop app on all the pc's ?
not necessarily the github desktop app, but at least some git "interface" yes
like command line or sourcetree or github desktop
and then you clone the project through that
We are a few people at a school needing to work on the same project - i first tried to multiuserediting stuff - which works great except we need to copy the entire project folder to local every single day - I was then pointed to SVN or perforce which was a little to complicated for this scenario - So i ended up with the git version instead - can you dumb it down for me on how to set it up for more than one user ?
is your git hosted somewhere or is it only local
cause it needs to be hosted to share, like on github or bitbucket or a local server
if you're already working with the github desktop app, install that on every pc
the clone the project from the hosting url
and before you start working do a git pull
and if you make changes commit them and push
Right now its local on my pc just for testing - but we have a server i can put it on
it is also up on github as a private repo atm
so they need to clone the entire project every morning before they begin or ?
no
you clone it once
then you pull it every morning
which will just download the things that changed
not the entire project
ahh makes sense - can people still work simultaniously ? Or do we need to still use multiuserediting for that ?
you'll want to use multiuserediting for that since maps don't merge because they're binary files so they'll conflict
there's a source control section on this page https://docs.unrealengine.com/en-US/Engine/Editor/MultiUser/Overview/index.html
A conceptual overview of how the Multi-User Editing system works.
allright it seems to make sense for me π We'll see how it goes ! Thanks a lot
btw multi user editing requires LAN
So we tested it a bit - i cloned the project with the github desktop app and pushed a few commits from the PC where i set it all up - and it works fine ! However - from the pc where i cloned the project too - if i make commits from that i wont show up elsewhere - did i do something wrong somewhere ?
i did push it - and looking at the history i can see the commit - but only on the pc where it was made
It's two step process.
- Commit changes.
- Push commit to Server.
if you pushed it it should be in other peoples history as well if you're connected to the same remote
i may have forgotton that - i get this error now - so im guessing i fucked up the order somehow
when i try and pull
Should i try and delete it and do a new clone or ?
Be ware that uasset files can't be merged
If two users modify the same blueprint/asset, one will have a bad day.
but i made no local changes π
did you pull while the editor was open
cause that fails like 99% of the time
close the editor always before pulling
cause if the pull fails it will show everything you already pullded as local changes
i think thats what i did - I got it to sync now but a "merge branch "master" showed up in history somehow
but it seems to work now - ill just be carefull in the future
Hi fine folks, on the perforce tips for UE4 they recommend to set up a case sensitive server in Windows.
Perforce in windows by default installs as case insensitive
How could I change this?
it's not a necessary step since we run a case sensitive perforce server
the only odd case that could happen is that someone renames a file to change the casing
if you plan to target any platform that builds with case sensitive paths (ie. linux) then i don't recommend enabling that perforce option
Anyone know how to move your project on the depot in perforce? Originally I set it up so that it was depot/project files, but i need to create a branch now so I want to make something like "depot/original" "depot/branch". Can i move my existing project files into a subdirectory on the server directly?
the best thing to do is to write a pre-commit hook for p4 which enforces PascalCase filenames
and whatever other file naming standard you have like prefixes
@tranquil walrus you're not using stream depots?
No idea what those even are. I just needed something simple set up to keep people from stepping on each other when editing things since they didn't have much experience with source control or working with remote people. I chose perforce because of the blueprint locking that can be done with it. Beyond that I don't have much experience with perforce specifically.
I'd just used git before.
well you really want to use streams, they're a powerful branching tool
but you have to create a stream depot specifically
is there a useful guide on them somewhere? Perforce's own documentation on branch mapping was pretty lackluster.
ah
another gotcha with stream depots is that a workspace needs to be created for each stream branch. if you want to exclude files from certain workspaces then you need to use virtual streams
Far too complicated for the people I'm working with. Is there a way to create a folder on the depot and move the existing files into it?
the setup is on your part, the people you're working with just need to make the workspace for that virtual stream which is trivial
Ah okay, I'll look into how big of a change that would be then.
i need help with source control
i set up source control
on git
using bitbucket
and now
my friend isnt able to directly commit to the repo through ue4
he downloaded the repo
put it in a folder with the same name as the og
but it wont go to my repo
if you type in the cmd git remote show origin it will show which repo you're connected to
idk how it works with in engine source control though, I don't use that
git and unreal are not friends...
it's totally fine, the only problem is the binary files like blueprints and maps being unmergeable and git not having locks by default
it's totally fine, the only problem is two huge issues
just saying it's not unuseable or anything like that
we've got a team of 9 people working on the same unreal project with git atm
but if you have a bigger team then I could see where issue would arise though if multiple people are performing similar tasks
i had issues with two people
we were using our own branches though
to work, and were intending to have master be a stable branch
we have 70 ppl and 3 long lived branches as well as programmer feature branches
and git + LFS works fine
@quaint obsidian how do you avoid merge conflicts between branches then? there can be cases where you edit something say, a sub level unintentionally and then save all, but someone else had also made changes to that sub level that is now seen as 'new' by git
the plugin checks remote branches for commits newer than the local parent change on the asset. if there is one, it doesn't allow you to modify it
Hi, I'm trying to learn what certain dash command are in git. ex: -m, -u, -v, anyone know a source I can read about?
I have just setup git source control, I was duplicating the project before this. I am keeping the project local and i am the only user, so can I just copy the .git folder to another location as a back up ?
thanks ... In case of HDD failure/corruption ...just like to be safe π
might as well put it on a private github though
its too big I think and I think I can only make it public
would like to install perforce on a nas. I found that I can do this via virtual machine running linux, but I keep seeing many warnings against doing this. why is that?
what warnings
for example whats stated here
oh
for context though there will be like at max 5 users for my perforce server and it's in my basement. will have everything backed up to offsite server as well
their concern is io speeds
said something about data loss potentially too
i'm trying to run the perforce server entirely on a synology ds918+
it'll be on drive one which is an ssd and then I have drives 2,3,4 in raid 5 for cold storage and back up and that gets sent to offsite
no one in that thread brought up any concerns I'd be worried about other than io latency so
I bet if you ran it and made sure you can recover in the case of drive failure, it'd probably be fine
it might be slightly quirky but it'd probably be fine
quirky how
random p4 operations might take slightly longer
honestly if that setup causes data loss then perforce is the cause <_<
is this not optimal, true
my thought was like if the power goes out and the vm shuts down
but then again that probably doesn't mean anything different than when the power goes out normally right
well if your nas uses a caching mechanism that loses data in the event of power failure, that would be bad
but if you're using a nas you should probably be also using a ups
I used to host P4D on my Synology. had no issues. the only reason I moved it up to a web host server was for reliability (I didn't want to be bothered with maintaining offsite backups) and to make it a bit faster for the other users (my upload was 15MBps and sometimes shared, got a bit slow for other users sometimes)
^ @hollow badge
finally got all of it installed on my synology nas
now i'm in bash on the vm and I'm running through the process of creating a new user however I'm not able to enter anything after the initial p4 user -f [username] part
I can't remember how I set it up... it's been several years, I just followed some instructions on their website for Linux, but after making a running server I just do everything in the admin gui on my PC
Hello guys, I'm currently setting up an UE project with my team for the LD. But i'm a bit afraid about git source control, especially considering the fact that we're working with blueprints. Any advices on how to proceed ?
does anyone know a git that accepts repos more than 10gbs?
@muted jungle azure devops
anyone ever setup a script for svn server to report to discord?
+centos7 svn server
@tough gale "especially consider the fact that we're working with blueprints", could you describe why that makes you more afraid than if you were not using BP's? I ask because I am just starting to look at source control, and my project also is mainly BP's
Because blueprints are binary files, a forge software cannot compare differences
inside a blueprint itself
Oh, I guess I need to add that to the pile of things I need to worry about. Thank you for clarifying
Well, thank you but not thank you for giving me hope of getting an answer
Yeah, sorry about that. I am still so confused on the approach to take on this subject. Very much still lost
if I manage to find anything while digging through these forums I will let you know
Comparing/Diffing is possible with Blueprints. Merging is not.
@haughty ember thanks for the info, I am doing research with those keywords now.
So far from what I have found thus far @tough gale @haughty ember , is that the closest you will get to achieving merging with blueprints is by using The Propery Transfer Tool https://www.unrealengine.com/marketplace/en-US/slug/property-transfer-tool/legacy-comments , but to use this tool you have to not use categories on your variables, based on the legacy questions for the plugin. Those categories seem like they would be really useful in development though, so I do not believe you would want to sacrifice them.
Additionally, I should state, I will not be offended if I am corrected for saying something that is inaccurate.
Can perforce save to a hard drive, or does it only work if a server is set up?
I haven't any comrades to work with, but I have a feeling I should be fit with a basic perforce source control from the get-go in case I work with someone(s) one day.
Looking on google for the past 6 hours hasn't gotten me the answer yet
Yes you can install and use Perforce locally.
Thanks, I must be one of the very few that are not interested in setting up a server. I cannot for the life of me identify any information showing perforce being used to save to a local disk drive. The Unreal documentation only lists setting up a server as well. I am surely missing something obvious here...
AH! The same page, just had to scroll down to "Setting up a Local Workspace". I thought it would have a bigger sign with neon lights I guess.
Man, I have spent all day searching and have made little progress. I have installed P4V but I have reached a wall where it wants server information, how can I proceed with just storing on my local disk drive?
I think my previous question was phrased too vaguely, let me rephrase it. Can P4V be used to version control on my local hard drive and not require a server?
Yes and no.
It always needs a Server
But you can host one locally by just downloading the Server for Windows and setting it up.
However it should generally be advised to just pay the 5$ per month to digital ocean to have a server there.
@gritty ferry
Can I set up the server on the same computer? Perhaps turn the server on and off each time I turn on/off my desktop?
Thank you for your response by the way, I really do appreciate it.
@gritty ferry Yeah, as said, you can install the Windows Server on your machine where you also have the client.
can someone assist me setting up perforce on digitalocean?
@faint cairn Ah, my apologies, I am very ignorant about servers. Thank you for confirming for me. I think now I feel much safer proceeding.
Hey guys, running into the perforce wildcard error. Any fix for it known?
@burnt shadow Sorry to ping, but your old tutorial had something mentioning adding wildcard files to P4?
Oh doh, it came up at the end.
yay i helped I guess
Guys It's more than 2 years I'm using Git / LFS for my source control. just fine for solo work. but now for collaboration I need to move to perforce cuz every1 knows ue4's git integration is basic AF.
so I'm looking for recommendations on budget cloud solutions for small teams that supports perforce.
the location of this is pure evil
it doesn't even prompt, it just starts deleting files

I don't know if it's the most "budget" or not because I didn't shop around, but I run a virtual linux server hosted by gandi.net ... right now I'm paying $14/mo for 40GB, 1 core, 512 RAM... works beautifully as a P4D server if you're experienced with SSH and linux. @clear gull
@woven sluice ah thanks for info. I'm a total newbie with server stuff lol
Is digitalocean's 5 dollars per month thingie an option ?!
can't say for sure but I think it would be. you'd still have to know or learn how to do SSH and work in linux I think, it can be a bit daunting, skim through some guides first. but anyone can do it if they have the drive to keep going
@clear gull Have you tried the UE4 git plugin on GitHub? https://github.com/SRombauts/UE4GitPlugin
or just not using a plugin also, works, using an external UI like sourcetree or just command line
that's not usable when working in a team with unreal
the in-editor lock management is required for it to be useful
well, we do it

well, we haven't had much issues, since we have one guy working on game blueprints, another on UI blueprints, and all our artists have different jobs, and other developers just stay in cpp mostly, and then we use different sublevels for design/art/... so not very much conflict occurs
What's the best/updated tutorial to follow setting up perforce on ue4 with digital ocean ?
@burnt shadow your guide is ok still to follow ?! 2014 sounds scary lol
no
Guys,how to resolve trouble with GitHub. Github filename too long
Would it be a good or bad idea to upload my game to GitHub in a private repository? Is this considered a valid source control method?
I read that repositories should be kept under 1GB, anything above can trigger GitHub requesting removal of some files...unless I read this wrong; https://help.github.com/en/articles/what-is-my-disk-quota
GitHub doesn't have any set user disk quotas. We try to provide abundant storage for all Git repositories, although there are hard limits for file and repository sizes. Keeping repositories small ensures that our servers are fast and downloads are quick for our users.
you can use azure devops or gitlab
@timid trellis Unless the project is very small, I recommend using Git LFS. This allows you to not only version very large files more efficiently, but you can also purchase storage packs at $5 per 50GB as needed.
Something very important to keep in mind: Git LFS storage has metered bandwidth, so be mindful of how often you push/pull files, how large they are, etc.
For example: you get 1GB LFS storage/bandwidth for free. Let's say you add Epic's starter content pack to your project, which is about 600MB. If you push that up to GitHub, it will eat through 60% of your bandwidth allowance for the month.
The bandwidth allowance resets every month.
But even a small project can eat through that bandwidth quickly if you push/pull files often.
Hey, I'm totally new to source code and I want to make a adjustment to InstancedStaticMeshes, but I'm uneducated in how to navigate there. Would someone be kind enough to guide me?
that's not really a source control question
I'm very familiar with Unreal and how it all works, just never looked at the source code itself
source control is like git/perforce/plasticscm/svn
not engine source
go to #engine-source or #cpp
Hello, does somebody know how to do a rollback on perforce?
I'm trying to find the rollback button like in the perforce tutorial but there is no button
Have you got a Workspace open?
yea
Default one is fine. Its a Superuser.
@molten marsh @willow tangle π
It's because you're on old Perforce server/client DD
This is the new age of Perforce...the new silly imo
@willow tangle
Undo Changes has taken all the old stuff like Rollback, Back Out, etc and put it into one option
https://community.perforce.com/s/article/3474 for more info
Yeah, it's kinda bad imo
Because it like to integrate/branch
Making everything look strange in editor/perforce
With symbol
Anyone familiar with svn and ue4 projects to know how safe and how to merge svn so I can reduce my space project downloaded is less then 2 gigs but Iβm up to almost 45 used for all the commits
SVN is generally a poor choice of source control for binary files unfortunately http://subversion.apache.org/faq.html#removal
Is it possible to lock files with GitDesktop? I have managed to set this up correctly but didnt manage the other Git
I might just do what Iβve done before. Make sure I have the latest commits all downloaded. Delete the repo. Start it over. Recommit
just make sure your HDD doesn't fail between those two steps 
@haughty ember @molten marsh thank you both!
Heyo I'm having some trouble connecting my source control. I've got my server setup, p4v workspace seems to be all good, but when I put in my login in unreal I'm gettingthis error "Workspace 'DesktopWorkspace' does not map into this project's directory."
I'm not sure what I'm doing wrong because my uproject is definitely in my p4v workspace
Well...it turns out I had opened the wrong unreal 4 project and in fact, the workspace was not mapped to to the projects directory
is it just me or git lfs is down ?! can't push commits since an hour ago
I assume Amazon web services is down
git lfs is hosted by something that can be down but the protocol it self can't offline
Are perforce diffs compatible with git?
yes, you can set up p4merge as a merge tool for git
@quaint obsidian I already have the p4 diff. If I want to import it to git do I just need to update the paths and remove #revision number?
... //UE4/Release-4.23/Engine/Source/Runtime/Windows/D3D11RHI/Private/Windows/WindowsD3D11Viewport.cpp#2 edit
Or when generating the diff from p4 do I have to pass it certain arguments to generate a diff that will be compatible with git?
oh, you mean like that, im not sure then
anyone got a good tutorial for using source control with ue4, or can help me out? im using gitkraken and it's all kinds of confusing even after watching general tutorials : )
that's probably more of just git itself that is confusing you π
it's all confusing me, im kinda new to this whole thing, i've had it working about a year ago when i was using C++ but it screwed me over so many times cause i didnt know what i was doing. pushed and pulled and it replaced my .map etc so i had to start over. i just cant get my head around it haha
but currently im just coping my files manually to a backup disk. and it's kind of annoying
it's always hard to explain
to better understand git, I think you have to think in "commits" rather than in files
hm sure, not sure i get it though. but you think it's gonna be worth it for me? im only using blueprint etc now.
having source-control is useful
would git be the source-control you need? that's less likely
git has difficulties with binary files, especially if they get big
hm, i dont know? what alternatives do i have? i was using gitkraken with bitbucket cause i found i really liked the "globoards" they had one their site.
well you have to think in commits if you want to stick with git
you don't work "file by file" much
could you define "commit" for me? im really behind on this.
a commit is basically what changed
a commit takes your files at a point A, makes some changes and results in files at a point B
as a result, a specific commit also has a list of "all the files right now"
I don't promise I'll be able to explain that well btw π
thats ok : ) i think this is helping. but i noticed that ue4 has subversion, perforce and git. which one should i use if i get in to this if not git?
a commit then as another meaning/usage
it perfectly identifies a "point in time" of your files (aka that B point)
as a result, a branch is just a name for a specific commit, name that can change
so.. yeah, backing up manually is just coping. while git is more, snapshots you can revert to if i understand you correctly
yes
there's also branches etc. which i never really understood. maybe thats for another day heh
well a branch is like going back to the past
and making a different new commit
then you give that new commit a new name (branch) and you have a different branch
time travel π
hm, i see. uh, are branches common usage? or, when exactly would you use a branch?
when you work on a team, they can become common usage
it's useful when you work alone too
like, you finish your game and release it
then you start working on some amazing secret feature for the next patch
but you then need to fix some big bug
you put your work for the future next patch in a branch, and the version (aka commit) you released is in another branch and you start to fix it from there
then you have to remember to not "forget/drop" the bug fix you did, this is when you do stuff like merging a branch in another (basically trying to take all the commits in branch A that are missing in branch B and putting them there)
which tends to not work well at all with the binary files of Unreal Engine btw π
for coders that write text file source code, it works pretty well and we are grateful of how git automates all that work for us
oh. so like. for example, "pubg" experimental would be a branch as oppsed to the actual game. i dont think i need to be concerned much with the binary files? i only want a good 'version control'/backup of my blueprints and .map really.
yeah
make a change, make a commit with all the files you changed/added/removed, give it a name, push it to the remote server
never try to time travel
and you should be fine
the day you need to time travel, you can study how it works π
remember I said typically you have two branches? the local branch, and the server branch
so your work is usually
- add commit to local branch
- push new version of my local branch to overwrite the server branch
and repeat
oh.. ok. i feel i understand it a bit more now, thanks for taking the time explaining. : )
hello everyone, out of curiosity I was hoping someone could help me set up perforce with c++. ive used perforce before and I can set up unreal engine projects that work with blueprints... but when it comes to setting it up with c++ im not sure how to go about doing it.
and unfortunately nothing seems to work.
Perforce and c++ have nothing to do with each other though
It's kind of like saying you've parked a Toyota in your garage before and now you can't figure out how to park your new Honda in it
What problems are you having?
(Are you trying to figure out ignore file setup?)
@mellow tendon
it says all the files are locked and dont have permision to ask for files etc
but permision wise the user is a super user
"it" ? P4V, VS?
take a couple screenshots and share them. not sure if I can help but you won't get any help if you don't present the info :]
ight, ive gota run out soon but ill take a bunch of screenshots when i get back, i do appreciate the willingness to help so thank you for that
I am looking to switch over to Perforce. I work solo. I mostly use a single machine, but may occasionally want to access my code from a laptop. I have a separate server in my home, and I already use that serer for other things. Would I be better off installing the Perforce server on my main coding machine or on the separate server?
Use your separate server
Thanks!
so the issue is that perforce is protecting it and in order to write to the file i currently have to check out the entire project. I also had to play around with updating VS so that was another problem i had to rectify
im sure theres a better then checking out the entire project but yea, not rly sure when i initially checked out the source that held the files I was modifying
@woven sluice
I apologize for the noob ish questions x.X but its my first time trying to get it to work with c++ >.<
i get the feeling its like when I keep walking past something in the grocery store and cant find it... sure the answer is right infront of me but yea
are you familiar with perforce "ignore" systems?
nope, but i can research it a bit
not sure if it makes a difference but im using the classic depot
I think I am too actually Β―_(γ)_/Β―
lol
here's my .ignore file for you to examine and/or copy, you'll have to research how to set your server to use it
HoJo's perforce ignore file
just open in notepad/sublime/whatever you use
basically what is happening above is that you have extra temp files under version control that shouldn't be under version control. you might have other issues too but this is the first one to fix
hhmmm
a bit busy but suggest you try to do some research and come back with questions whenever
ight, thank you for the file... at least im headed in the right direction now
only question is if im working with someone else since it ignores something important im assuming it wont mess with if i take something out along with my friend right
once everything is set up properly, everything will probably work exactly like you expected it would
awesome, just double checking, thanks
complications in your setup will arise if the other person is a total non-coder/can't install VS to compile themselves though
theyre the primary coder
alright. if you ever get a non-coder in the team then you have to figure out a way to share the compiled binary files with them so they can open the project
worry about it later
I'm running a local Perforce server, but remote users have been unable to connect ("A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond."). I've tried allowing access to Port 1666 through my Netgear router, but no success yet. Any ideas of what I'm missing? Thank you in advance.
how do you upgrade a code project to newest engine version if you are using p4 source control, what files need to be checked out?
check out the entire project. upgrade. revert unchanged files. fix compile errors etc. submit.
@woven sluice thanks
hello all. I'm trying to get UGS (unreal game sync) up and running. I understand the basics and in fact have had it running and pulling in checkins from a local perforce server test that I made with a local engine build that I made (from github source). I'm struggling to figure out though, what engine source files + (whatever) to check into perforce to make sure the rest of the team can get the editors built. I have seen good docs on making binaries submitted to perforce but I'd like to have the source submitted and built by team members. I can't get good answers on what to include and not to include on an Engine/ folder add to make sure this will work properly with UGS. Can anyone shed light on this process?
@winged tiger Video on how to setup Perforce for UE4 (server, client, engine etc) https://www.perforce.com/video-tutorials/vcs/start-collaborating-unreal-engine-and-helix-core
Helix Core is the most popular version control system for game development. It's easy to use, handles large files, is fast, and has features that enhance productivity and collaboration. Use the Unreal Editor built-in integration to Helix Core to build the next AAA-game hit.
Thank you !
Hey all, still new to perforce and just found that I can apparantly checkout any file that other's have checked out but the reverse is not true, they can't check out what I've checked out
I'm not finding anything about exclusive checkouts being available for only one user, what exactly enables this? Is it because I'm an admin? Because I own the stream?
Hi Garin, yes if you set it up chances are your user is a 'super' user, and you can checkout/unlock any file.
If that's an issue, just make yourself a regular account for work, and only touch super user when you need to
it wouldn't be that your files "only one person" can check out are binary files (blueprints) and your files "anyone" can check out are text files (cpp) would it?
@pulsar mango good thought, thanks
@woven sluice no, it is not dependent on file type, and it's not that anyone can check them out, it's that I can check out anything regardless of whether it is locked, and others can only checkout unlocked files
the power went off and then my github broke - i can no longer see history or pull or push anything π¦ anyone knows what might have happened and what i need to do to fix it ?
ups π
WHat did I do wrong here? I followed the tutorial but I guess I should have chosen personal server?
Solution - For some reason, Windows 10 decided these files, setup on a non-program folder on a secondary hard drive, should all be read-only, so it couldn't update any of the server/user permissions
Anyone want to help me with this Perforce setup in Unreal? I've connected to the workspace and Unreal is detecting it, but I can't check out files, it only says refresh...I read a post about that meaning the file is "pristine" in perforce but all of the tutorials show using checkouts and submiting changes
Do I still have to setup a type map for Unreal, or does the latest Helix/Perforce do that natively?
okay should what should I uninstall?
This is what I downloaded -
This is literally why I put off using Perforce for 2 years
how in the hell can you not connect to a local folder on a local computer
@limpid cliff can you open a git command line (like git bash) and enter git status
Perforce... are they offering affordable versions now!?!?!?
Don't see it mentioned on their site, but also don't wanna do a free trial without knowing
@runic summit Regarding Read-Only -- that's how Perforce handles revision control between team members. Since Unreal content cannot be merged, you have to Check Out files before modifying them
pretty sure you can disable file lock in a setting somewhere, but it's not safe if you're working in a team
buuuuut I don't know why you can't checkout, sorry π¦
maybe try viewing the Remote repo to check out, instead of in the Workspace view?
perforce has been free for 5 users or less for a few years @alpine elk
the admin interface simply won't let you add a 6th user unless you have a license, if that answers your question
It does, thanks π
it was free for 20 users before, so it's not new, they actually made it worse
I got a bigger ssd, moved my projects onto it, updated the workspace root and it goes and deletes my config folder and uproject, but there is no commit that actually did the delete and I can't get them back (or see what else it deleted)
Isn't this the exact thing source control exists to prevent? :/
Just destroyed my work itself
that sound like user error, though I'm not sure how
perforce has never unexpectedly deleted something for me
Well, neither until now, I've done this before
I don't see how its user error since its a very simple action
Regardless, I need my files back
if you reconcile they'll probably show up as deleted
Nope
you never had them in the depot?
Yes
They're in the depot
The depot has them marked as deleted
But no commit history ever deleted them
See
Thats the depot view, not workspace
did you obliterate it
or mess with the depot folders
Nope

How can it be deleted if there's no commit deleting it
I can't go get revision either
Oops its because I gave it wrong changelist π
Hmm if I go get revision 1, it adds it back
If I go get revision 2, it removes it
So there's an invisible revision for each of these deleting them π€·
Guess so π¦
it wouldn't just break by itself though
It kinda did
that just can't be a thing with all these large companies using it just fine
They have people who can fix it when it breaks
a bug like that would be apocalypse
Perks of $
Hmm maybe P4V broke the workspace mapping when changing the root too π€
Its default mapping that it gives you is incorrect
And it likes trying to put its invalid mapping in when you change anything
Well, I re-added the randomly deleted files
Trying to build and hoping nothing is broken
Deleted a bunch of random animations -__-
It actually played eeny meeney miney mo with my files..
If this was user error it wouldn't be random
but changing your workspace mapping doesn't remove files from the depot
What do people think about Git LFS as opposed to Perforce?
I am personally using Git LFS without issues, but I am just wondering.
its shit
will bloat the size of your server and your client, on your client it will require constant purges to remove extra data
and scales horribly the more LFS files you have
it quickly reaches a point where it will be near unusable
SVN is significantly better for unreal usage
Yeah iβd imagine it for binary assets, SVN makes a lot of sense
i can tell you first hand that nearl all of the game companies in asia use SVN
svn is great if you are doing "trunk" base development
so if you are just developing the game on a main branch, then SVN will work much better than perforce and git
if you have to deal with branching.... SVN kinda sucks
svn also works a lot better with unreal than perforce
perforce is extremelly slow
and the checkin-out is a pain
yeah it is what concerns me a bit, with branching and SVN
becuse branching makes a lot of sense
espeically when developing critical features
wait how did you make svn faster than perforce
svn is faster than perforce in general. Perforce (specially the plugin) in unreal is incredibly slow
becuase you need to checkout files to remove write only
OMG perforce is killing my project π
I thought the whole point of source control was to be able to roll back changes, now I have weird duplicate files π
is anyone here uses GitKraken for ue4 GH repo?
but svn would have to remove the write lock aswell
i have to agree on P4 slowiness, it's always a major issue for me to rename or relocate folders in the project
@green lantern are you moving files around after they're added to P4?
because it'll make duplicates a lot if you do that
Other than how long it takes inside of unreal when renaming and moving several files, I love perforce
steep learning curve though
@noble knoll what scales poorly with more LFS files? what happens?
the more files tracked by lfs you have, the slower it goes
in my 6 GB unreal vr project, it got bad enough that it would crash every git client
all of them
that's strange
We have around 16K LFS files in our repo, 80GB LFS history total
never had any those sorts of problems
not sure why LFS would be handling all 6GB at once on your project
i also was unable to commit the entire project at once at the start
had to separate it over many commits
if a single commit had a big amount of LFS files, it would hang
pretty weird yea, i am atm sitting at 14GB LFS and there's no crashing whatsoever
nice to hear that it also works well with 80GB LFS
have you had any data loss with LFS? @quaint obsidian
@jolly fog no
Als I've been able to do large scale moves of assets and such with thousands of LFS files changes with no issue
so I can't seem to get a straight answer from any web searches. so can I literally not get rid of Perforce submissions? Does it just keep stacking garbage on top of garbage forever? Do I need to branch my own project to a whole new project to avoid this?
I seem to have destroyed my own project by moving a folder, and I can't seem to roll back that change.
@green lantern Once you start using Source Control you should ALWAYS be managing your project via that Source Control. The moment you start moving stuff around without its knowledge, you are out of sync and cause issues.
?
How am I not managing it via source control?
I can't figure out how to roll the fucker back is the issue
Did you commit the "move" to Perforce?
Well then find the ChangeList that contains the move and then Rollback that CL
now i've been desperatly trying to roll back to the state BEFORE that change
yeah I can't
Why?
Is there no option to Rollback?
They don't use the word rollback in the interface
Ok so you must be on a newer version of P4V then.
What options do you get when you right click that CL?
but basically I moved the files in that revision, then submitted it, and noticed there were issues when UE4 had broken links
Ok so the Rollback option is now in the "Undo Changes in..." option i believe
I think I tried that, so now I have duplicate file folders and weird shit, my sound animation notifies are still broken
I never moved or changed files outside of UE4 editor
and I was always connected to source control.
I'm so demoralized right now.
I Guess i'll try again
When you Rollback, it will create a new CL, just because you Rollback, doesnt mean it deletes all the ChangeLists above that one.
yeah so i'm gonna have a stack of failed rollbacks in my history. Huzzah
It moves the state of the project back to the CL.
This is important because if you mess up a Rollback, you can always go back to before the Rollback occurred and try again or whatever.
Fan fucking tastic
You can do a workaround.
You can force get the CL you want to be on, then recommit that as a new CL.
Basically a hard rollback.
Maybe I should just fucking make a new branch at this point?
Nothing I changed after i Moved the files I want to keep anyway.
You could branch from where you want to be i guess sure.
ChangeList = CL
Also known as a Revision
Revisions are in the History tab
Which is a list of all the commits for the project.
I don't even know how change 25 is above 24
since change 24 happened well after 25
ughhh
how do I clear our this pending change right now?
Revert
I did and it's still there.
I hit revert and nothing happens
this was the rollback I tried and it posted that error
so I want to clear it out
You have to hit revert after right clicking the CL
The Revert button at the top of P4V only applies to the Default ChangeList
that is the current change list
im trying to clear it out
before I try to force the change log
Its not, its CL 27 which is a saved CL
ughh
there is no 27 π
my list just goes to 25 π
this one wasn never submitted
ok.
Pending means its not on the Server just yet but you have it saved ready to go
I don't even know what i'm looking for.
In the Pending tab, right click on the CL27 and hit revert
Ok thanks
Now you can either Branch, or get the revision you want to work from and commit that as the latest.
So when I did what you said
