#source-control
1 messages ยท Page 52 of 1
even for a team.. same way linux is run.
And I wouldn't recommend working entirely with a local copy anyways.
There should be a remote everyone is pushing to.
github allows 3 private projects hosted per user at least.. if that's the model you like more.
GitHub has unlimited free private repos now.
You have to purchase storage for Git LFS, though.
Personally, I just push everything to my nas
but at work we do something totally different with more than 100k people working there.
Wow. Quite a few people!
git is wrapped up in quite a few custom layers there.
code review is exceedingly important with that many people too
clearly not all of those people are software engineers
@rotund bobcat PlasticSCM hosts major repositories for massive companies like Nike. They've come out and said already they've no intention on stopping support for the UE4 Source Control. Anyone telling you otherwise because "they got bought by Unity" is just fear-mongering. They're not about to give up such huge contracts with not-Unity companies.
Yeah, I can't imagine they're going to simply drop Unreal support any time soon. It might get less attention over the years, but I don't see it disappearing in the foreseeable future.
@neat grotto its cheaper to buy perpetuals if your project is much more than 2yrs long tho
Its been a while but they *used to be $895 1st year and then like $325/yr thereafter
What do you mean by perpetuals? Does Perforce have perpetual license options?
It did, im not sure now tbh
What's the difference? Are those prices you mentioned above still per user?
Aye
And if you're paying per year, how is that perpetual?
Its optional for support (and tbh not required because pefrce rarely brings new features)
and $325 is cheaper than $600/yr
Usually "perpetual license" means you pay once.
Its "perpetual" + optional support (or it was), but
still waaay cheaper than $600/yr every year in perpetuity
Regardless, I've never been presented with these alternate payment options. Huh.
Even when negotiating directly with Perforce sales over the phone, I've never been offered these options for myself or my clients. ๐ฆ
I've only ever been offered one option: ~$600/year/user.
well it used to be a thing
Im not 100% sure if it still is
It maybe "enterprise" only, or only available if you ask
I think they got bought out recently-ish right? Maybe the new owners canned it
I havent really dealt with them since 2016/2017 (for the costs/license acquisition) - Ive only been actually doing integrations/setup etc
Does anybody have experience working on a team with people using different IDEs -- Rider and VS to be precise?
Our VS users keep getting "Missing Modules" error because they don't have RiderLink. My understanding is that people should be able to use different IDEs but I haven't been able to find a solution to this specific issue. How do we go about this?
create a placeholder plugin in your plugins source control
either in engine distribution or project repo
and have it be a lower version than Rider's
but same name
then, instruct ppl to install to that location
it will overwrite for them
but VS people will have an empty plugin
I'm having a strange issue where I have to reconnect to my source control every time I open the editor. Has anyone else experienced anything similar?
From the drop down?
Yeah, on the toolbar. It recognizes that I need to check out assets that I'm editing, but for some reason keeps asking me to reconnect to my source control.
It does so successfully, but it's the first I've seen it.
@quaint obsidian this is probably gonna be a dumb question, but what do you mean by "placeholder plugin" and "install to that location"?
I went and dug out RiderLink from my engine distribution and put it in [Project Root]/Plugins/Developer/RiderLink so this is what that directory looks like now (see screenshot)...
make one with like no modules
or 1 module which is practically empty
and no resources
@neat grotto @simple lodge I have a 10-seat perpetual license for Perforce. I only paid support the first year (sadly it's required). Did not elect to pay support the second year ๐
$9K 1st year. vs $5400 sub/yr
After this second year, I will be in net
Support is something like $185/user/yr
So when I saw that bill a few months back
I was like wtf, then I remembered support and then me and them got into it really good
But yea thought they offered it, I dont deal with that part of negotiations anymore so ๐
About "server IP" changes being part of support
if you can actually get through to Sven then you can get useful help
(if he still works there)
Does perforce UI still suck btw?
He's got me covered if I ever need a simple 5-minute server IP change, without having to backpay support
^ this is the problem with going out of support
You "are required" to backpay support costs from all the years you missed out, AND then pay ANOTHER YEAR'S WORTH as a "reactivation fee"
Their pricing is horribly indie unfriendly
It's a pretty ridiculous system there
But big companies are obviously paying them some serious $$$, so it's a system that won't change until big folks start complaining...
So, us little ones are whatever ๐
Yup, from talking to a lot of them the impression i get is if you are smaller than 500 users then f off we dont give a rats backside
(the company I was at was very large and could get direct line, but once I started working with smaller ones I noticed it a lot)
*the 500 is probably an exaggeration (to make a point), I have no idea what the true number is
Yeah, they initially didn't want to start working with me unless I paid for 20 users... but I was like... "brah, I don't have 20 users to give licenses to"
^ this will be a good problem to have though once I actually make more than $50K/mo for payroll
I have a custom plugin which is added as a submodule in my git repo. After cloning it in the local repo, the plugin folder and files is not visible in the Project VS solution directory although it is visible in the Windows folder.
How can I fix this?
@haughty ember I remember you going through that server IP thing some time ago... so on the "free 5 user license" obviously being "free" you can just install a server anywhere and use it... but you're saying if I get a 6th user one day, then are the paid licenses locked in and keyed to a specific host IP somehow? I'm just wondering how this could even be possible. it sounds absolutely bumfuckingretarded if it's actually set up this way. I wonder if it could be circumvented (DNS, etc)
This I guess eh. Fucking wow that's low. https://www.perforce.com/support/change-server-request
Yup they get keyed to a host IP
Its a pain in the ass
I think they even get keyed to a mac address
but its been a few years so I might be wrong on that one
I mean the IP bind in itself isnt a bad thing, but charging thousands of dollars to change it is assinine
First time I've ever seen software attempt to do something like this. Like normally a server shouldn't be affected by its ip, it just runs and handles requests. 
I mean I sell software thats IP locked, its fine
But changes can be done via your customer portal in 5 seconds at no cost
I meant to do the IP Server change before support was up on an address I could redirect later as needed, but totally forgot about it ( I think I was going through the Kickstarter at this time and was distracted) and anyway, like I said, my contact said they would do it for free if I ever needed it.
The fact you have to pay normally is the bit that grates tho
devs gotta eat sure, but there are ways to make money that isnt predatory
If only our lord savior Tim S would decide to use a few of his spare millions to create a magical fairly priced excellent working vcs to compete with unity owning plastic 
Or he could buy Perforce and give it a better pricing tier for indies.
this would also be acceptable
idk how much perforce is worth ;p
last thing I found is parent company wanted to sell perforce to 2 billion
that's to much for epic I guess : D
I would rather see them creating their own solution on top of git
Hey guys, anyone succeed in making multi GPU work in Unreal ? We are a immersive event studio Working with quadro rtx8000 cards and facing frame rate issues with our ray traced scenes. Any help with improvement of performance would be amazing!
Get a 3090?
AFAIK epic said they wont support multigpu, and NV just killed SLI so probably you need more powerful hardware or better optimised meshes / scenes
- why are you crossposting the same question in multiple channels
- why are you even asking this question in #source-control
- why did you waste tens of thousands of dollars buying useless CAD gpus for a video game application

oof
Can someone tell me a good workflow for Perforce? Me and 2 friends are working remote.
Basically,
- I change file (say, blueprint X), push it
- friend 1 also happens to be working on blueprint X
- Does my friend have to pull changes for X now, and then continue? Or what?
How do we resolve discrepancies like these
blueprints can't be merged
if you're both working on the same one, one of you is gonna get fucked
yeah that's what's happening rn xD
only "fix" you can do is lock the file while you're working on it
how do you use perforce???
There are multiple series of Perforce tutorials on youtube....I'd like to get more comfortable using it, can anyone recommend a particular video or series?
my brain turns to mush when i try to use it
@hidden ibex you should have perforce set up to automatically enforce locking of uasset files. learn about setting up file types. Google P4 typemap and also right click on a file in p4v and go into "change file type", study the dialog to learn more.
We already have it setup @woven sluice . We can't save files that are already being edited
It's just...a sad way to do things
Indeed
I need to double-check, but I believe PlasticSCM actually does Blueprint diffs
how would it do that
those are binary files
dno how you could diff that
except in editor
Oh, it does visual diffing.
So you can browse both versions of the Blueprint
and make the changes you need manually to merge them
And yeah, it's a UE4 Plugin in-editor
That isn't part of plastic, it's part of UE. I always forget about it because it sucks if you have to use it, but yeah if you get in a bind it might save you
it saved me today actually
after a 2 day journey of tracking down a bug
fun times
It sure does cost an arm and a leg to get server hosting... Really demoralizing when your trying to get off the ground. It's against comcast TOS to run one from home net. I understand the TOS is there so that companies aren't doing large operations off residential pipelines, but I have roomates and can't risk the slightest chance of getting the account terminated. Does anyone have any recommendations on something in the 10-20tb range? Plastic seemed decent but doesn't look like it goes over 100g, would even be willing to try svn or git or something else,
Someone's going to say it: What on earth do you need 10TB for if you're not a professional business?
I was going to ask the same. My entire day job's company doesn't use over 6, and they've been in business for 25 years
i mean, if you need it there should be options. I use gandi.net and they allow me to create a single disk up to 2 TB for $142 USD/mo, unlimited bandwidth. which should be fairly cheap for a team of say 25-50 people to share
If you must know, we have massive cad plants with massive files, trying to get sites like wet iron ore processing plants into unreal. We are trying to show the value of unreal engine for renderings and training simulations, to pitch for funding from the company. They don't understand why they would need unreal over navisworks, so we only have approval for using their CAD data, not their servers for this purpose. But to collaborate with eachother and get to proof of concept we need a high capacity server that wont fuck us too hard with "dynamic pricing". Thank you for recommending gandi.net, thats much better then others i've seen, I didn't see that one in my searches
How do we resolve discrepancies like these
@hidden ibex The whole point (well at least one the greatest points) of Perforce (and most other VCS that allow locking) is to not have these things happen. So, the answer to your question is to remember to check it out before working on it so no one else can.
@ornate willow rent a dedibox and that should be fine
@simple lodge Wow, thank you, I had absolutely no clue about these, this looks very promising
oof. I would not value anyone trying to convert industrial Navisworks models into UE4 useable anythings. ๐
Yes, especially when some stuff comes from autodesk, and some comes from bentley software, it's an absolute nightmare at every single step ๐ but we have made somewhat promising progress here and there
@ornate willow just make sure you take backups
and properly lock down ssh etc
Its "full root" so you break it you fix it, and you are responsible for it
I can't afford to pay for remote server hosting for perforce, but I don't want to lose all of my revisions if my machine blows up. Is there a good way to host a Depot on a Dropbox account because I do have one of those...
And how could Comcast know you were running a server? Yeah you might have one giant file push when you initially set up but you're not going to be it pulling down 10 terabytes a day I think on a regular basis
Yeah I was starting to come that conclusion about full root, I've set up p4d on an aws ec2 before but I'm no network engineer, only super basic knowledge
About comcast knowing about running a server, they probably wouldn't, but since I live with other people it just wouldn't be fair if I caused the account to get terminated. I saw in the news recently that comcast shut down service to a few hundred people who were "illegally" connected, sounds to me like they are/will be getting stricter in the future so I'd rather not risk it, as tempted as I am...
@woven sluice I can't afford serving hosting, I setup my own but I want to protect my revisions, can I put the depot on a dropbox folder?
You can run a p4 locally and sync the repo to dropbox probably
But if you are self hosting p4 for a small project it really isnt that expensive
can probably do something very functional for 10-20 bucks a month
making me wonder what dropbox's pricing is ๐ yeah, I was going to say the same thing earlier if you had to. host version control locally, set up whatever manual or automatic backups you can to make yourself sleep soundly at night
hes probably looking at the official p4 cloud hosting thats like $50/usr/10gbs or whatever bs it is
oh yeah you're probably right. yeah I host a 50 GB server for about $15 USD/month, it works great for a tiny team. @runic summit
Side note, I just managed to improve my p4 ci hook for ma git based system
I need to get a plastic repo up and write some connector logic
@haughty ember I get that. I just think it's an oddly primitive way to handle it.
Like I'm sure AAA companies mostly write c++, so diffing will be easy for files. And generally assets are worked on by one person, so all they have to do is place a lock and no one touches them
In our case 3 of us are meddling with BPs, sometimes we edit the same game mode or whatever, and that becomes a hassle. Yes, we do lock, but the other person has no idea it is locked until he tries saving the file
What about the big blue check mark on the asset... Or no big blue checkmark? 
@hidden ibex
@languid escarp have you made any changes to the engine in your master branch, as far as you know?
so that particular "thing" is a directory where I just keep a copy of master in case I want to make some PRs
there should be nothing important there
okay - that's cool
we can reset your master then
So, in your master branch locally, do:
git reset --soft 41616ead1a7364d42fdd4641396258504c9e857c
This will change your master branch to be the latest commit that you had in Epic's
mhm
You're currently ~15000 commits behind Epic's master
Is that deliberate, or have you just not updated?
forgot to update I think
okay
1. git fetch upstream
2. git checkout master
3. git merge upstream/master
4. Push in SourceTree
``` need this, right?
cool, got notes not always sure which one to use :P
Because you've put your master branch back on Epic's own commit, the merge should be a fast-forward one, so it shouldn't create a new merge commit
If you do get a commit that says "merge remote tracking branch upstream/master", then something's not quite worked
Did you delete the branch you already had? Or do you want to repurpose it?
it's wanting me to merge
If you push it I'll take a look on GH
pushed it
You did the reset --soft, right?
yes, before the git fetch upstream
none
Doing a hard reset might be the cleanest then
So, from your master branch, do this:
git reset --hard upstream/master
git push --force
After doing those two, github shouldn't say that you're ahead of EpicGames:master any more
done
reset --hard will lose any local changes
There you go
now it's clean
And you can branch and make your change and PR
Sorry for the run-around a bit there!
Got there in the end
ok so I'll delete the old feature branch now and make a new one
Or, don't delete it yet
done did
Okay
Other option would be to create a new one with a slightly different name and then do git cherry-pick <commitId>
which would copy just that commit over to your new branch
if I deleted it I can make a new one w/ the exact same name right?
hm can you see the new branch? MemoryOps_DefaultConstructItems_Memzero
let me check
alright it worked
and yes to your previous question
๐
awesome, thank you!
you're welcome ๐
I hate git too sometimes, but it has its uses
I would just be really careful to not do any of your own commits into master (that may have happened a while ago which is why the updates were merges)
And keep an eye out for merge commits when you update
@runic summit try this, it's $6/month for half a terabyte of server https://liteserver.nl/hdd-storage-vps/
afaik they're the cheapest right now - the trick is they only give you HDD, not SSD but who cares when it comes to a source control server
also, they're in europe but I'm getting decent up/down speeds from the south
@languid escarp Thanks for the recommendation and thanks @woven sluice for the advice as well. Right now I'm using an old gaming laptop to act as a server, it works fine but again, I don't like having it in an old machine just in case the hard drive fails. I was trying to do this for essentially free.
Is there anyway to have p4 just say, "hey, once a day, copy any new/modified files to this other folder, a folder which dropbox syncs with?"
what OS is the server running?
I'm guessing Windows.
There's a python module called P4Python which allows Perforce commands to be run from Python
You could have a python script that runs once a day that does this for you (I'm not sure how best to run regular automated tasks on Windows)
@languid escarp Thanks for the recommendation and thanks @woven sluice for the advice as well. Right now I'm using an old gaming laptop to act as a server, it works fine but again, I don't like having it in an old machine just in case the hard drive fails. I was trying to do this for essentially free.
Is there anyway to have p4 just say, "hey, once a day, copy any new/modified files to this other folder, a folder which dropbox syncs with?"
Or is there a best/correct practice to engage this type of backup process?
I was going to start fresh, so my plan was :
1 - Back up entire project on WORK computer, then copy it to SERVER computer
2. Setup SERVER to also sync to dropbox
3. Delete current project on WORK (backup is just there in case server crashs before synced)
4. Open P4 Client on WORK computer and acquire all project files
5. Resume normal workflow
Note - I'll be doing an initial commit of EVERYTHING....I know it isn't necessarily needed but It's only done basically once and I've had issues of assets getting screwed up somehow (and not detecting it until I'm many revisions in). Some of these were core engine files from Epic screwing up and giving materials instances thousands of unique material slotnames...version control may not help me in this instance but still.
How does this sound?
I'm also connected on the same network at home but when I do this intial giant download, should I just target the local ip instead of the dynamic ddns I normally use when i'm working away from home? (acecssing home server for my work comp)
Why is Perforce so unintuitive - I'm trying to make a new depot on my server laptop - but it doesn't want to grab any files - I thought depots housed all the files and workspaces pulled and pushed to them
I want my server laptop on P4admin to take THIS folder as the source of files for the DEPOT -
but when I do that, the depot is EMPTY
and trying to make a new workspace folder on my work computer like this
doesn't do jack
Even more frustrating is that my current depot, that I will turn into an archive when the new one is setup, my current one works fine -
Look at my new depot settings, I've tried changing the path to different things but nothing makes a difference
You can see, the old/current one has a list of the files and everything but not the new one
I thought you setup everything in the depot FIRST and then pulled what you needed or added to from your Workspaces
did you actually add any files to the new depot?
i.e. set up a workspace, create your first changelist and submit?
is there any particular reason why you want to take hte same project and move it into a new depot?
oh and... i don't really think you want to put your depot in a dropbox folder alone like that, without the rest of your server's journal and other files I think it would be a "dud" version of your depot
you could copy your server instance into dropbox (backup your whole VCS instance) or you could periodically copy your workspace into dropbox (master project version only backup)
It's in a subfolder of the dropbox that is synced so it should be good
so, that's where I was confused, because a youtube tutorial showed someone accessing files from a depot to create a new workspace
you are describing it as uploading files TO a depot FROM a workspace INITIALLY @woven sluice
It's not hte same project, I upgrade engine versions, when I'm done with this I'll change the old one to an archive VCS
My problem was both my server and work computer were syncing to dropbox
I should only have the server do that and just backup files from my work to the source control server
yeah for this to work at all you would definitely need to keep it as one-way as possible, there might still be some issues with Perforce having some files locked - it has a built in system you might be able to figure out that "rotates" in-use files like the journal for performing backups normally
anyway, yes, the only way for a human like me or you to interface with a depot is via a workspace
(aside from going into the admin panel and deleting or modifying the depot in other ways)
also, upgrading engine versions isn't a good reason for creating a new depot IMO
quite poor actually. unless this is very major revision of your project in general like a total re-do, and you sort of literally want to throw out old garbage
Well, right now I made a copy of the project when I updated to 4.25, so that new 4.25 folder is in any version control
i.e. if you intend to delete the archive depot after a few months to save space on old stuff that is garbage, this might be a good reason to do what you're doing
The project files I'll keep but I wouldn't probably need the revisions
Plus, I'm obviously not as comfortable or even competent at setting up depots and working with perforce so I want to learn a bit more about it and the fact that I can't even setup a new depot tells me I need to stop and figure this out before moving forward
So, the remote server is setup fine and I'm good with port forward and using a dynamic ddns to access remotely when not on the same network
But i"m confused about the depot being empty initially, why can't I point it to a folder and say, "THESE are the files I want in the depot, copy them over and have THAT be the depo
This is what is probably confusing me, the server root folder exactly - because it says the path name LiveSim_Main/1 but where do I see that in windows explorer? @woven sluice
because "the only way for a human like me or you to interface with a depot is via a workspace"
I guess I didn't realize you meant all time, I thought the intiial depot setup you could
you should never look in that folder in windows explorer
like never ever
for me, that folder is on a linux server 7,400 km away from me
I have gone into it literally 0 times in ~5 years
you always create a Depot for a project, and then you set up a Workspace to work with the Depot
then you put files into the Workspace, mark them for add, and submit/commit/push them to the Depot
So, from the top (and THANK YOU for walking me through this) 1 - make depot, specify folder to use to store revisions (in this case, it's a one-way sync to a dropbox folder only accessed by the depot itself)
- Depot made on p4 Server machine
- On Work Computer, make a new workspace, targeting the new depot, which has no files
I tried to do that before but It wouldn't let me add them, I'll see if I can do it again
think of the depot folder as simply specifying where you want perforce to store its working data - it's customizable only in case you want to use a different drive or something (or in this case, attempt to use Dropbox... which I'm still unsure of if it will all work without any extra steps, but worth a try)
yeah the first steps are kinda weird, IIRC P4V should give you a prompt or something saying the depot is empty and asking if you want to populate it with some files, you don't have to use that, you should be able to just copy files in from Windows, then scan your workspace for changes via the "Reconcile Offline Work" command, that should mark files for add
Well, why does it even need to be told to use dropbox, if I put files in a folder, and dropbox is marked to "sync" that folder, then if Perforce happens to add it's own files to that synced folder, dropbox will sync them
I'm mentioning that in case there's some obvious giant hole in my understanding
Hi everyone! I wanted to do a commit but had to pull some changes first. So what I've done is stash my current changes (I'm using Github Desktop). I've done the pull And when I want to restore the stash, I get this error:
Any possible solution?
@runic summit the reason why I said "attempt to use Dropbox" is because I'm just not sure if you'll run into headaches due to file access issues. I mentioned it briefly earlier, Perforce will keep certain files locked for write access 24/7
Hi everyone! I wanted to do a commit but had to pull some changes first. So what I've done is stash my current changes (I'm using Github Desktop). I've done the pull And when I want to restore the stash, I get this error:
@ivory hinge Nope, you can't merge binary assets like Blueprints or Maps. This is why I tell people on my team never to shelve on perforce (especially so overnight) unless they absolutely know no one is going to touch that stuff
And AFAIK Shelving is very similar to Stashing on Git (I don't use Git much anymore)
Ok so, there is no way to access or recover this files? ๐
Lock first. Submit WIP when you're done for the day unless it's going to break something and you know no one is going to need it
@ivory hinge git is a bit messier when it comes to this workflow
I am assuming that anything stashed got overwritten by your statement
And if so, this is the same reason I don't particularly like shelving in Perforce either. at least when it comes to binary assets in UE4, which it has a crapton
But AFAIK also, only LFS has File Locking and I'm not sure how good it is now, but when I tried it out years ago, it was trash
@runic summit too much text to read, but I just want to say, do not put that perforce depot on Dropbox
Have no idea why you want to sync with dropbox the depot, it sounds super strange and I feel like it's a recipe for disaster if you somehow sync incorrectly and your depots get corrupted
@haughty ember I'm a bit confused - I have my workspace on my non-dropbox folder - and it gets sent to the perforce server on another of my machines solely used as a perforce server - it's depot happens to be a folder that is sync TO dropbox but there is NO other computer syncing to that folder
I just don't have any money to pay for another server hosting but I want to be able to backup my revisions on the current project
So if my work computer dies, I can get a new machine, make new workspace on it, and get the latest revision from the server
And if my server dies, I can still get the journal and other revision files from the dropbox
Again, NOTHING but a SINGLE machine is ever syncing to that folder, there won't be any other way
but by definition, dropbox isn't one-way communication (as you just demonstrated). this feels a bit like walking in a minefield where you know where the mines are - even though you'll probably make it out the other side, you're still walking in a minefield
if you want to use dropbox for backup purposes, use another process to copy your server into dropbox once a day or something
@woven sluice Can you point me in the right direction to investigate how to use another process to copy something? I appreciate the advice and am happy to follow it
you could use SyncbackSE, or find some other tool probably
just make sure you inspect the result and see if you need to "rotate" the perforce databse or journal or whatever it's called - its working files which it keeps locked for constant write access
this is getting into mildly complicated perforce admin duties but should still be doable by mortal man. perforce have some articles about how to set up server backups which should discuss it
Thanks for the recommendation, now I can look into it more
hey all I am wondering if this is common, I am using subversion and I migrated some content into the project. when going to submit to source control, i get these warnings
this wasnt happening before with any previous commits
also wondering if theres an easy way with SVN to revert to a previous build... just found my answer
is there a way how to compile ue4 so i dont get this ? PackageVersion 513, MaxExpected 517 : LicenseePackageVersion 3, MaxExpected 0 ? i edit that Version.h file but i guess its not the right way to do it
@primal pelican probably go to #engine-source instead
need more context
but
if you have issues with assets
i suggest using resave packages commandlet
the engine version in version.h is changed for a reason, and you shouldn't touch it
guys
does git work wwith blueprints?
if you're asking does git allow merging blueprint code, then no. they are binary files. @terse light
UE comes with a diff tool you can use to try to help perform manual merges
ok. no. you shouldn't try to do that
oh, is there any way we can tho
the person attempting to merge them has to do it manually... make a copy of your blueprint, pull the other person's work down, then inspect them and manually attempt to combine them
Then no, just prepare backups of everyones works, and projects... possibly multiple times, and then take turns adding it...
Or just get someone to send over there projects through a download link and it do it manually
try to find UE's diff tool and figure out how it works. I've never used it, we use perforce and locking and just avoid this ๐ฆ
Next time, when doing git , just take turns... and keep backups.
Do work on a backup project, then when ready, pick a day, and add it to the main project.
Or even learn git properly, and use the branches
But HoJo is saying that blueprints r binary files and it wont work with git
how would branching help. you need locking, not branching (apparently you can do locking somehow in GIT but I'm not an expert)
oh I think I just misunderstood what you meant ๐
you meant for performing the merge not for avoiding merging in the first place lol
is perforce free?
for very small teams, yes
HelixCore or Helix4Git
I've never used their GIT integration, can't say
their products' naming is confusing and retarded and their pricing when your team grows is retarded but the software is great IMO (people either really love it or really hate it)
it might take you a long ass time to really learn how to use perforce
well, it's not something you'll set up properly in a day or two. if you have a month to casually set it up and experiment with it and you wanted to learn it anyway, I would recommend it, but if this gamejam is starting like this weekend, just use GIT
be very communicative about who is working on what 
ye, i guess ill just go with gitt
but as you said, with blueprints i have to do diffing
which im still confused a bitt about lol
because u said blueprints are binary right, so you cant push them manually through git i guess?
people are telling you to make sure you set up git lfs
@terse light You can diff Blueprints, you just can't really merge them.
So I have to use git lfs to merge them right
You can't merge Unreal assets.
But yes, I do highly recommend using Git LFS. It will make things a lot easier, and you can use file locking if you're working with a team.
Be sure to download the latest version of the UE4 git plugin if you go that route. https://github.com/SRombauts/UE4GitPlugin
The one that comes with Unreal is outdated and doesn't have support for file locking.
Ok sure thing, thanks a lot!
So I have to use git lfs to merge them right
@terse light no - git lfs is just a way of storing larger binary fines in git
So I have to use git lfs to merge them right
@terse light no - git lfs is just a way of storing larger binary fines in git
Yes i understand
Can I use my gitignore file from way back when for my p4ignore? are they the same syntax?
a lot of the syntax is the same
but p4ignore doesn't have inverted rules and a bunch of other stuff
@jolly fog Okay not to keep piling on the cpp channel. So.. I've had cases where my stash / commits / pulls / etc couldn't overwrite local copies of files and had to call git gc directly to clean it up. Sometimes it manually asking me which version of the referenced file to keep.
I agree you shouldn't call it, but sometimes you have to, or just being okay with copy and pasting code to a txt file and doing a really hard git reset --Hard origin/branch to kill my local
I mean. I don't have these issues now, but I do run into them in my day job from time to time with whatever my team is doing to their git repos.
mostly like.. i can't commit it says refs aren't there or they conflic
hey guys i am using github desktop to create a repo for my UE4 project i am using LFS and after cloning the repo i cannot open the ue4 project file
can someone pleaseee help me ugh ๐ฆ so depressing
please help me to the dude who was typing
if you want anyone to help you with anything ever, put more than 2 seconds of effort into your question
no error info or anything
its very simple i just uploaded my repo with git lfs
when i clone it i cant open the project
burn in hell
was that directed at me? lol
@fair birch Read the #old-rules, this is the second time ive asked you to do so, please be respectful and professional, especially when asking for help.
wooot wooot finally got it to work yaaaay
hmm if i set up a git on my own vps and set it up to use LFS, i just have to change the remote and push right? (i was using github)
Hey everyone I am really struggling and I could use some help.
I am working part time with another dev team and I have perforce working perfectly fine with their setup. I am now trying to get perforce working locally for just a personal project (no need to back up to the cloud or anything... just need it for versioning control), but for the life of me I can't get it to work. Here's what I have done so far:
I created a personal server in the helix client in the directory of my unreal project, I added all the files in the workspace, and submitted the new files so I can see them all in the workspace. However, when I go to connect the source control in UE4, I get the error that I can't connect. Additionally, running something simple like p4 info in the command line gives me the error that I can't connect to localhost:1666.
Any ideas? I have been really struggling with this for some time.
hmm if i set up a git on my own vps and set it up to use LFS, i just have to change the remote and push right? (i was using github)
@chrome lagoon more or less yes
Any ideas? I have been really struggling with this for some time.
@restive quartz Did you init
I figured it all out thanks
Git LFS doesn't seem to comprehend that a uasset file was moved from one directory to another, it just counts the file as deleted and notices a "new" file in another directory
@south ingot sounds like intended behaviour. It will check the hash and symlink to the same file if its the same.
So there's an issue with that
uassets have their path baked into the file
so the hash changes
therefore, git doesn't do rename detection on the file
im not sure if its possible to do so
Anyone know why my editor keeps crashing when I "Submit to Source Control" from the Perforce integration?
It just says ue4 has triggered a breakpoint
did you make sure stuff is checked out properly?
do you want the solution file and uproject in version control? I just noticed mine weren't
mine is ignored
so when you download the repo for the first time you need to generate
uproject file needs to be in. sln should not be.
Doing "sync" using SVN source control on the editor causes it to crash, this is the log https://pastebin.pl/view/769665ba
Pastebin.pl is a website where you can store code/text online for a set period of time and share to anybody on earth
any idea what is happening?
if i check with tortoise no changes were made
also, im with the latest commit
Im trying to sync from the root folder of the content brower
And now it crashed because of out of memory (on a 32gb memory pc without anything running)
Does Sync do anything else other than sync with source control? If so, why?
because of the way the engine accesses stuff
it tries to reload the assets which has never actually worked
always close editor and sync externally
I already use external syncing but it fail on merging uassets, was expecting that UE could merge them but so far it has been a terrible experience. It either stays there forever (on Updating assets) or just crashes
locks doesn't really fix the problem as it only blocks people from committing a non-updated version of the file. If PersonA and PersonB are (unaware) working on the same file even with locks somebody's work will be lost
locks prevent you from working on a file someone else has locked
UE's lock? as far as i remember svn's lock doesnt work like that
for example, if you lock a cpp file with svn, it's not like VS won't let you work on it
I have no idea about svn, with perforce it works exactly as expected
Yeah, maybe other source controls do but i did mention SVN at the beginning tho
guess the answer changes to "use perforce" then 
yeah, sadly that;s not gonna happen on our company. not my call at least
I don't feel I've done anything to deserve Perforce being such a jackass - WHY can't I remove this file from my workspace. I change the files to read-only but everytime P4V opens up, it sets it to write only -
I've tried removing it from the workspace but nothing happens -
You can see from the depot I have obliterated it and "Saved" is no longer present - what am I missing here?
Hi guys, we're currently having some trouble with Perforce, our artist tried to "Get latest" version of the project but he's not up to date with the code I wrote and submitted. Wouldn't it be related to p4ignore?
i don't know why you think this is a perforce issue @runic summit
it's not versioned
@runic summit why are you trying to set saved folder to read-only?
Why does it bother you that the folder exists within your project folder? Unreal needs this folder?
I think what you're missing is that files can exist within your workspace without being controlled by perforce
I've been getting inconsistent results using source control with UE4 and GitHub. Very often, I get an error like this which prompts me to delete my files and re-clone the repository in order to fix the errors. Is there any practical way to fix this?
@marsh saddle maybe you should close your unreal editor before pull?
I think what you're missing is that files can exist within your workspace without being controlled by perforce
@woven sluice I am not sure why the folder keeps having read-only status applied to it, I'm having an issue where it keeps rebuilding shaders
EVERY SINGLE TIME I start up the editor, (even if it was shut down properly) I get this - I'm convinced perforce is blocking the saving of these compiled shaders but I have not been able to rectify it.
@marsh saddle maybe you should close your unreal editor before pull?
@blazing quail from the last sentence of my post: "Is there any **practical **way to fix this?"
@runic summit folders can't have statuses applied. Have you checked actual files within to see if they are in fact being set to read only? Have you checked that you don't have a single warning or error about any shaders in your output log on startup?
@woven sluice What am I looking for in the output log? There is ALOT, some yellow, some red, I need to address them but what are the key things in regards to read-only status I should look for?
Material related?
Anything material related
Any errors can cause what you're experiencing
(Not perforce)
Probably @woven sluice , but I'm also not having the editor save in between sessions in terms of the layout, like where the tabs of various blueprint actors that are opened up for editing are located, while I know position of where are you looking at on the blueprint itself is saved on the blueprint, the layout for the editor seems to not save between sessions
And while I obliterated those files from the depot, they seem to still read-only - i wasn't aware unreal set those statuses itself
except maybe for some input settings
Well, if you wanted to rule out perforce, delete everything in your project folder and then run Get Revision on the root folder with "force get latest" checked on. Nuke and redownload the whole project
(Obviously commit any work in progress first)
I'll try out those material things and then hone in on the layout not saving
Just as a question for making sure I understand how perforce works, if I go to a folder in my depot and obliterate it, will that allow those assets to be written by my client, or do I have to manually do that myself?
@woven sluice
I'm actually not sure what the behavior will be if you obliterate it while the files still exist on the client - I think I've always done a delete submit first and then later on when doing clean up I went and obliterated them
which is kind of why I'm thinking you might want to try to "reboot" your workspace
could even just make a new workspace and see if the same oddities show up in it too
What is one the most reliable applications for source control?
Reliable in what sense?
Of the two main ones that people use with UE (perforce and git), both have their pros and cons
Neither is perfect, and both can behave in unexpected ways if you arenโt an expert at using them
Guys what is this error and how can i fix it
@terse light Exacly what is says, you have a modified file, do a commit and then pull down the updated version. (possibly duplicate so you can manually merge it)
Oh ok, thanks
hi! when this perfroce bug can happen?
only one machine of 20 has this strange bug. internet connection is stable
@quick urchin We use perforce at our place and its pretty smooth. But like Hugh says, you need to get familiar with it.
Perforce Question: Say an artist adds some files across multiple folders in their workspace through the DCC or Explorer (windows). Is there a way in Perforce to either autoadd, or, show a list of files that are NOT in the depot that exist in the workspace WITHOUT having to drill down through the workspace folders (you can select a filter to show files NOT in the depot, but this requires drilling down to the folder)?
try running Reconcile Offline Work command on any folder (such as the root folder of the workspace)
Hey @woven sluice I was truthfully thinking that may be an option, but I was not exactly keen on its intended use and expected outcome.
I will try that with a test file and see what happens and report back here.
Does it matter what version of the engine I use (publishing/creators) if I want to sell my project on steam eventually. I notice two links on the ue4 webpage one for publishers and one for creators. But what is the difference in the installer? If so, what about the source version at git?
Holy batman why is the file size so massive when building from source O_O
Heyo. I'm using TortoiseSVN and am getting the lovely ol: Cleanup failed to process...The system cannot find the path specified" bit.
Not the first time I've had this and the only way I've been able to resolve it in the past is to blow away my entire directory and resync. Not really an option right now.
I have the file that it's missing and think it's a problem with Unreal as the file in question is a duplicated FX particle.
Anyone know a way to just ignore the duplicated new file? I don't really need it (but do need a bunch of other files I have checked out).
When commit files, do I need to include the raw texture files or just their uassets?
It's sensible to commit both
So that you have the raw texture files if you want to make changes later
for the project, though, only the uasset is critical
im currently using perforce and when dll files are marked +w they do not actually push to the server at all even when modified, why is this and can i change it?
@sullen lance are you using a p4ignore file? It may be that is not allowing DLL files to be pushed up to the stream.
i guess i should have been more clear, its not pushing changes, if i manually submit them then everyone else gets the updates, and there is no ignore file set
Sorry I meant submit, not push... Anyway, just to get a better idea. You intend to have the DLLs in Perforce. Everyone can have them, but unless they have the +w file type attribute set, it means the files are locked for other developers.
And you are attempting to fix that with the +w filetype attribute, and Perforce is not allowing you to submit that change?
its kind of like that, so yea the +w filetype is not propagating the change across for some reason unless i manually check the dlls out and submit them
i want to avoid everyone who isnt touching code to not have to worry about building a solution just to edit an art asset
well, to be frank, +w isn't some magic flag that takes care of things for you. there aren't any magic flags like this. something has to detect the file change, put it into a changelist, and submit it. right now that thing is you
if you want to automate it you'll have to set up a CI system
ah ok cool, thank u
has anyone built and used the unreal game sync (UGS) application?
Yes. You need a CI system like Jenkins or TeamCity to build and archive the editor binary then submit to Perforce.
i have jenkins, but im having some issues test building UGS. do i have to provide all the .png files in the resources file as it gives be a build error, or are they provided somewhere
They would normally be located at Engine\Source\Programs\UnrealGameSync\UnrealGameSync\Resources but looking at the GitHub source they don't appear to be there. I'll need to check it the Setup.bat downloads them.
i'll run it real quick and see if they appear
If it doesn't work you may need to find out more on UE AnswerHub
ah cool thats what i was missing
I don't. I usually write documentation in something like Notion or Google Docs.
Google Docs is good for that
My packaging script grabs the latest docs from Google Docs, downloads it as PDF, and puts that into the release branch in git
so uhhhh
what the hell is up with github? i'm setting up a new repo
and i'm getting straight up weird shit
just... what
did github go completely fucking insane?
an existing repo
turned out i needed atleast 1 commit, didn't realize that doesn't come default with github
in gitlab you dont need one
@prisma kindle they removed "master" branch
couse racism or some dumb shit
its now "main"
well i know that, but i was getting some really, REALLY weird errors
thats why the error is complaining about master branch not existing
turned out that unlike gitlab, you need to have atleast 1 commit
in the repo
otherwise it doesnt work
and yeah, fuck main, a whole lot of addo about nothing
it's not like a lot all of software that relies on git hasn't had "master" hardcoded into it as the default branch... in the past what
almost 30 years at this point?
genius
Hey, how do you manage a unreal project with git in order to be able to compile it? Everytime when i try to pull it and build it it fails on a other machine... has someone tipps doing this?
you may need to provide more context and move over to the Packaging channel.
But source-control typically doesnt contain the generated project files, i.e. the 'intermediate and saved directories', Id make sure you generate these files after pulling and prior to packaging
When using perforce, what is best practices for branching different versions of the game? Do you just branch the entire project folder?
Different versions?
Which is better to use, perforce or source tree?
@sturdy lake New to source control but have recently learned it is important. A few people that I have been learning with are trying to decide on a/the best source control to use.
Small BP project and both
Also, how many of you are there, and how technically proficient are you?
3 -5 and I would say above average. If I don't know I will eventually figure it out.
Perforce is only free up to 5 users
For what youโre doing, perforce would probably be technically the best. You need your own server if youโre running the free one though
Perforce is better for content as you can lock files
I'm trying to learn to setup my own server right now.
There are cloud providers but they arenโt cheap
As soon as you want 6 users, youโll need to pay for all 6, not just the extra 1
Itโs $420 per user per year
Maybe im not looking at the right one?
that was for pricing for helix teamhub
thats the git perforce host?
Oh, thanks. Didn't know
it basically allows you to connect git and perforce iirc
but @woven sluice probably knows for sure
I'm basically brand new to source control so. I'm aimlessly wondering around to figure it out.
Perforce as a company offers both git (teamhub) and what everyone tends to call Peforce, which is actually Helix Core
Fair does, its been a while since I did much perforce things
What do you use now @simple lodge
most of my clients use git
I started source control with SVN and then was forced over to GIT, git is "better" just cause its more widely adapted imho.
does anyone know about how much space as a percentage of project, does Source control take up ?
does anyone know about how much space as a percentage of project, does Source control take up ?
@outer kiln What do you mean by that exactly? the .git directory?
never used it before, wondering b4 using, do I have enough ROOM
@outer kiln Assuming you use git, it really depends. If you use it with remote site, you don't need to keep much of the history local, so it should reduce size.
Personally my project size is 30gb. My .git directory is 13gb. And it includes the entire history.
not bad at all, OK TY very much ;))
does anyone know about how much space as a percentage of project, does Source control take up ?
@outer kiln
it depends how much history you keep
trying to install from source, but the GenerateProjectFiles.bat -2019 tells me visual studio isnt installed but its freshly installed and working fine
what is the issue?
realized that was the issue ๐
so all compiled and up and running now
with heaps of fun issues that wasnt presented in 4.25.1 for me ๐
glad you got it working
me too, kind of ๐
made me realize I dont remembet shit how to import my cad-files ๐
guess its like riding a bike, just gonna remember again ๐
Is anyone familiar with hosting a helix server for a small team?
how do I KNOW if perforce is flagging a directory in my project file as read only or not????
perforce doesn't do anything to directories
directories don't even have read-only flags in windows AFAIK
when installing git for windows, it offers recommended alternatives for VM, but on choosing them 'next' is greyed out, wth ? ๐
and yes I'm running setup as admin
lol nvm I guess only if I tell it not to create start menu does it work for the alternatives .
Hello everyone!
I use Perforce for my UE4 project. Most of the time, Perforce does check-out any saved files, but I'm noticing that it occasionally does not, leading to mis-matched files between my teammates. Is there any setting or way that will force Perforce to check-out every changed file?
Perforce does not run any background monitoring... Run "reconcile offline work" whenever you think you might need to (e.g. Before submitting a batch of work for the day) @onyx scroll
Hi y'all, do you submit compiled C++ binaries to source control? I'm trying to figure out a nice way to collaborate with my artist friends and work on cpp stuff without disrupting them
no
yes
but carefully ๐
I probably wouldn't if we used GIT though... infinite file history and all that
I see, we use Perforce so should be good but still I wonder if it would be too much friction to ask them to recompile ๐
Hello, could anyone that uses perforce send me in the right direction to learn how to get/download a project that is in the depot?
you may not want to go through the hassle of setting up CI @minor tulip but the description of how I used Streams depots might be of interest to you https://www.ue4community.wiki/jenkins-example-windows-installation-perforce-z98w4map
the article has a few knowledge gaps but I'm busier than a jehovas witness in a door store lately so no time to finish it ๐ฉ
hahah thank you @woven sluice, I think I'll definitely do something like that for our next game. Bookmarked your article. I'm a bit sick of Jenkins from work so might look for something simpler. I've set up a server on Azure for perforce and it's been working well so far. The setup is done with Terraform and a provisioning shell script https://github.com/vladinator1000/vyatr-azure-tf
@rustic igloo sounds like you need to read the docs https://www.perforce.com/manuals/p4v/Content/P4V/using.workspaces.html#Creating_and_managing_workspaces You can make a workspace and base it off a stream in your depot
I tried to read that but I'm not sure I understand. I put the project onto a new depot. How does someone else download the project from the depot?
@rustic igloo Vlady told you how. perforce is complex. stop what you're doing and spend a few hours reading more documentation.
https://www.perforce.com/perforce/r15.1/manuals/intro/index.html old but good explanation, see if this helps your general understanding and then read
https://www.perforce.com/manuals/p4v/Content/P4V/using.workspaces.html P4V manual for creating workspaces etc. (what Vlady linked)
Creating a workspace doesn't transfer any files from the depot to your computer. The workspace and its view merely define the mapping that controls the relationship between the depot and your workspace when files are transferred.
To learn more about how to set up the mappings that define your workspace, see the documentation and the online help for your Perforce application.
press butan
more formal answer: https://www.perforce.com/manuals/p4v/Content/P4V/files.retrieve.html
Hey all, can anyone recommend a good starting point for Vultr packages to look at for Perforce hosting?
For example, should I only be looking at the "Cloud Computing" options or are there other viable options? I am very inexperienced with this topic. ๐ฌ
Or...on that same topic...If anyone suggests any other VPS options (digital ocean, etc.) I'd be happy to hear!
@tame crown doesn't really matter what you pick, they're all similarly priced, I went with Azure but Digital Ocean are just as good
I used this setup roughly https://github.com/vladinator1000/vyatr-azure-tf
seconding that it doesn't really matter. I run a perforce server for a small project just fine on a 2GB linode, though storage for the server is on a separate volume (makes expansion and backups way easier).
@woven sluice so the simple answer is all he needs to do is right click on the depot and get latest revision and it will download the project on his side?
Thanks @minor tulip and @merry verge ! Appreciated
One more question -- Not too experienced with Linux but down to learn if necessary. Is there a great advantage to setting up a Linux-based VPS over Windows or should I just go with Windows since I'm already familiar?
Linux is much cheaper @tame crown
I forgot to update here, but I found that out pretty quickly ๐
So, Linux it is!!
Went with Ubuntu
anyone here use some kind of git/binaries elsewhere setup?
im fine not having version control for binaries, or at least be able to selectively do it (for blueprints), but keeping the entire project on github gets out of control quickly
I use git lfs for binaries
(I know that's not entirely answering your question, but it's kind of elsewhere)
Is it safe to commit Blueprints and other Unreal Engine assets with the editor open? That is, can the editor do hidden background disk writes that may cause invalid/broken files to be committed?
Commit yes, pull no.
hey guys i am trying to set up Subversion control using a Mac for UE4 with xcode 11
how can i connect to source control on my mac with UE4?
https://github.com/EpicGames/UnrealEngine/pull/7412
here's the PR for incremental linking - a single line of change and lots of instructions :P
improved linking times for me by an order of magnitude, from 14 seconds to 1.4 seconds
You mentioned that you disable incremental linking on editor builds. How come?
Does anyone have issues with running Perforce Server on a local VM? I've been doing that to get familiarise myself with Perforce but I keep losing connection
Think I might just start up a DigitalOcean VM instead rather than mess around with network intricacies and VMs
Ok that worked. And wow you can actually diff blueprints and their graphs. ๐ฎ
There's an annoying bug in UE4 VCS. If you save one map over existing it will mark existing one for deletion.
Any way to bypass that?
hey guys i am trying to set up Subversion control using a Mac for UE4 with xcode 11
@fair birch can someone help me with this
i used brew install svn and bew install subversion
still not working
ok so i am able to connect via command prompt
How to setup SVN so that you can share assets with other on your team.
followed this guide
its at the bottom but in the editor says i cannot connect
Anyone here unig perforce and can help? I moved some files outside of perforce and I don't understand how to submit it now. Perfoce seems to make my life hell.
You'll have to be more specific than that... what do you mean you don't understand how to submit it?
@merry verge
I don't know how to be more specific.
when I add new files I right click on them in the P4V Client and click "Mark for Add".
However I moved a file so I marked the moved file, but the old file still seems to exist. I tried to click on the item in the depot and "mark for delete", but it then complained the file doesn't exist locally ><
now both the old and the new files exist on the Depot, while locally only the new files exist, and I have no idea how to remove the old files
Use reconcile offline work on that file
it should pick up that you deleted it
(if you're using p4v, right click and find "reconcile offline work")
mm it seems to pick up a lot of files even though they're inside the .p4ignore.txt file, everything. something is wrong there too ><
have you set the P4IGNORE environment variable
no but I used p4 set command previously for P4USER and such. I should of used env variables there too?
@merry verge Seems like it's marking files that are identical. I clicked 'ok' to add them anyway, and now I have a lot of files that haven't changed. Clicked on one and on 'diff', and it says there is no different and they're identical.
I have to say - git is awesome, perforce really sucks ><
perforce is just complex
it's hard to follow what you're doing because you might not know exactly what you're looking at yet
git can be complex, for advanced usages. perforce is complex for no reason, you get nothing in exchange for that complexity
Why would it lock my local files? I don't get it.
well, you get probably the fastest VCS in existence, but maybe that's all ๐
any chance you can take a screenshot of your files in P4V? might make it easier to get help
workspace view and changelist
well, you get probably the fastest VCS in existence, but maybe that's all ๐
@woven sluice it's A LOT slower than git. A LOT.
I mean you can believe that... if you think so, then why are you using it? ยฏ_(ใ)_/ยฏ
I think I sort of got it now actually. Recreated the workspace, checked out everything again, then checked out again so I can actually build files because it locks everything, opened the editor and removed the unneeded files, then reconcile.
I mean you can believe that... if you think so, then why are you using it? ยฏ_(ใ)_/ยฏ
@woven sluice Working with someone else and he's an artist and he's used it. Easier for me to get used to another program, even if it's really bad.
I know in general Perforce suppose to have some extra features for UE4, although I haven't seem them yet, but so far the trouble it's making.. I don't think it's worth it
I abandoned GIT a long time ago because I saw how much better Perforce was -- but that was like 6 years ago ๐ I think GIT is at least useable now, seems to be lots of people who are very happy with it
anyway, if you have more issues, take some screenshots of your files and changelist and it'll be a lot easier to explain what you're looking at
I used git for a lot of time, around 10 years I would say. Even the old versions were better than this
anyway, if you have more issues, take some screenshots of your files and changelist and it'll be a lot easier to explain what you're looking at
@woven sluice But cool, thx. Is there a way to work with cli btw rather than the UI?
nah, ~10 years ago GIT was utter trash for gamedev
yeah you can just open a command prompt
oh I don't know about gamedev, talking about in general.
GIT has always been A+++ for coding
for gamedev I used it for only the past 3 years or so
GIT has always been A+++ for coding
@woven sluice I don't see the extra features perforce is giving for non-source files?
yeah you can just open a command prompt
@woven sluice what's the command / command family to use it in CLI? Should I have the app if I installed the UI client or do I need to install something separately ?
you just type P4 and whatever commands you want to run. if you really want to go hardmore and use command line only, you can start to learn it by seeing what commands P4V is running in its log window
oh yeah I've seen those, didn't know p4 was an actual exe though, cool
the biggest problem with P4 is that their documentation is really stupidly fragmented... every couple years it seems they release a new major version and redo the documentation entirely, and sometimes they miss important bits of info so you end up stumbling upon articles from 2014, 2016, 2018... to learn about some feature 
actually the biggest-biggest problem is pricing for medium sized indie teams but ... stopping myself before I rage
yeah I heard about the pricing. It's the reason why I never tried it tbh. The guy I'm working with got it anyway so ๐คทโโ๏ธ
@woven sluice Anyway it's late here, I'm going to sleep. And thanks for the help!
cheers
Hello people, I got a weird error after the editor crashed and restarted. Wondering if anyone knows what is going on.
I'm using perforce, and my login info got replaced by this:
Who's Jesse?
Is this caused by a plug-in or any asset that I imported?
Sounds like someone committed the saved folder, oops @mystic trout
I'm setting up a DO perforce server today. Are there any gotchas in the configuration or easy-to-make mistakes?
I'm just using the allar's blog tutorial, plus the official unreal youtube channel one
yeah
the easy-to-make mistake is using allar's ancient blog post
follow this instead https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.html
Agreed. Allar's blog post is great, but it's very outdated. The package-based installation is pretty straight-forward (at least much more than the old installation process was).
yeah fuck that guy
hey! I'd like to change the root of the repository on my unreal project (i.e setup a new repository that I've made for my project), but I cant fund the option to do so. does anyone know?
thanks
are people serious that artists can use this as a version control tool? I can't imagine having to explain all this to people
this is the most obscure ux I've ever used
is there a usable command line interface instead?
the docs are all marketing babble, with a few exceptions with the server instructions
You get used to it
Perforce is industry-standard, as long as artists largely stay with the basic workflows (getting latest, basic changelist operations) it's fine. Some studios build some tools on top of it to simplify things and there's stuff like UnrealGameSync to make their lives simpler too.
here we go
this guy knows what's up, at least after the server is up and running
is it possible to have git report how much data (bytes) it's going to be sending through the wire in a push?
alternatively, is there a tool that diffs two directories recursively and reports the number of bytes that are different
@languid escarp I use WinDirStat to figure out how much disk space everything is using. Probably not relevant for your use case though. its more for figuring out why you only have 100GB left on your disks
re, perforce: my local ISP is throttling my uploads pretty badly. It will take 3 full days to upload my project to my perforce server if I upload every art asset. Is there a workflow anybody can recommend where you leave almost all the art assets local (transfer those via usb or something), and not break the project?
eg, maybe copy every used asset to a special directory and only sync that one, while the rest is local-only and in-waiting?
is that feasible, or will it be a nightmare headache in the long run?
@languid escarp I recall an old uni project from years ago where we had to write a bash shell script to recursively read 2two different directory's contents and determine if the two directories were identical or different. I think we used hashes? I bet you could whip up something similar that reads file size. I'm only familiar with bash though, not windows, but its probably a similar process. Annoying to have to write though
Personally my useless question would be "why does it matter to you how many bytes you're about to transfer?"
@coarse heart ouch, that sucks... But still, 3 days is doable. Why not bite the bullet?
Its not super important, but we want to get something playable for halloween for a spooky playtest ๐
maybe I should just restart the upload and use usb until its done
switch to the server on day 4 or w/e
Personally my useless question would be "why does it matter to you how many bytes you're about to transfer?"
@woven sluice question is not useless, it makes me second guess my reluctance. Thanks for asking it
Oh that one was more for glass beaver :D
Art assets -> you don't have a bunch of 4k textures you could reduce to 1024 or anything do you?
besides the import options in unreal, what is the best way to reduce a texture size?
without introducing aliasing or w/e
The import options in unreal do not reduce the texture size
They only reduce it in the final packaged build
doesn't it reduce the texture streaming load?
I mean in the context of #source-control and your editor folder size
yeah, ok
I bought some buildings pack for background buildings. It came with 4k textures, could practically see bugs on the windows. We're using these buildings 1km away so I dropped the texture resolutions and reduced the asset size by 4x or more
what program? photoshop I assume?
pardon me, I have to head out. Thanks for the chat
Batch export source texture files from within editor, Imagemagick to reduce them, run reimport in editor
@woven sluice it's for this azure build node that I was trying to do
but I'll probably just grab a 5950x once it's out
Hey! I have question - has anyone here configured bitbucket pipelines for UE build (with default dockerfile example file from unrealcontainers)?
Looking for some hints and maybe advice for my yml config ๐
Question from a Perforce noob but otherwise competent full-stack programmer:
I'm the server dev for a small gaming company. We recently downgraded from a paid Perforce license to a free license and I'm having some basic setup issues with my Perforce server.
I currently cannot start up the Perforce server instance using the p4dctl start servername command.
It tells me the service cannot startup and exits with a code 255.
I believe the issue stems from a misconfiguration of ENV variables, but since this is my first time with Perforce, I am very uncertain of what to do.
Is anyone with some Perforce experience out there that would be willing to chat for a few minutes regarding my issues?
I believe it should be a quick fix for an experienced user.
Hi, could anyone help me with setting up my project with source control? I've had it connected in the past, but i'm on a new machine and getting issues.
On the source control tab in the engine i used Git (beta version). It's connected with my github account, I even took the temporary email that they gave me and changed it to the correct email for my git account using gitbash, all my information is there.
When I accept settings it gives me "fatal: unable to read tree 3bbce281ddfad02c366cb59d167a357731c54603
fatal: unable to read tree 3bbce281ddfad02c366cb59d167a357731c54603
Failed to enable Git source control. You need to initialize the project as a Git repository first.
Source control is disabled"
I thought maybe i needed to download github desktop because I've used that in the past, there if I try to Add an Existing Repository from your Hard Drive, I locate my project folder then it loads, and then it immediately says
"Cant find 'Test Project'"
It was last seen at C:/Users/user/Desktop/Test Project. (link) Check again.
Locate... or Remove, but neither Check again or locate do anything
I have all my files, I just want them to be initialized in some source controlled repository
All i'm trying to do is upload a project that I transferred from an old computer onto Github, and connect it to source control. I feel like it should be fairly simple and I'm happy to use any working method to do that
Is there a way for Perforce to ignore Blender autosaves? Basically a rule to allow .blend files but not .blend1
This details how to ignore files:
Thanks, I should have specified that I was asking for the syntax to do so. With .gitignore you can use *.blend[1-9] but that doesn't seem to work for P4
Does anyone find using Assembla's Perforce integration to be slower than github(with git LFS) when uploading and downloading to the server? I just started using Assembla, and upating files to the server seems to take forever, whereas it was a lot faster with github?
I think GitHub is more distributed
they have a lot of engineering posts about this
Can anyone help my friends and I share assets with each other? Weโve set up a git hub thing and cloned a repository but even then we arenโt sure whatโs supposed to be going on.
@dusk dove price was almost the same, so I figure why not use assembla. I think it was just slow this morning, not sure why(shared instance of assembla?). Now it's comparable. In my testing I found that git is pretty smart about uploading files..regardless if you change the name of the file or upload it in a different directory it's going to checksum and know it already has the file and not upload it a second time(or something similar). Then I went ahead and created my own p4 server on your advice using google cloud and it was slightly faster than both github or assembla. I might just stick with the custom p4 server then...will scale better with more users price wise. Thank you
does perforce support gitignore files as is or does it not parse any features of it?
I just wonder if i can copy paste content from gitignore
supposedly you can..but some folks say you can't still..
read all answers: https://stackoverflow.com/questions/18240084/how-does-perforce-ignore-file-syntax-differ-from-gitignore-syntax
What fraction of .gitignore file syntax Perforce was able to implement?
The Perforce documentation for P4IGNORE shows basic ignores and un-ignores with patterns: http://www.perforce.com/perforce/r...
I was trying to do p4 stream ignore earlier, but that's even less powerful, only allowing wildcards
maybe just try it and see if it works for u: P4IGNORE=$home/.p4ignore;.gitignore;
Thanks for the link
Ye, i guess best answer would be testing it
@jaunty hornet mixed answers on what p4 ignore supports, but last answer I saw was [] doesn't work. If u can rename ur blender autosaves to .blend-[1-9], then u can use (wildcard).blend-(wildcard) not sure how to type two asterisk literals in discords. And I'm not sure if u can force blender to rename the autosaves or not.
@coarse coral Thanks. Tested all kinds of things and I guess it's just not supported. Pity.
I'm rather disappointed in the p4ignore. The fact that it has to be set as an env var is rather absurd
definitely showing some of its sweet 90's roots lmao. i don't set P4IGNORE anymore but i set P4CONFIG instead, and then you can use a config text file per project with different settings. makes it possible if you are working in multiple teams and one team wants to use .ignore and another wants to use p4ignore.txt etc 
Yeah, the client side env var part is really absurd...devs have to remember to do it.. @woven sluice I've been able to just do the multiple set for those filenames which works too
Streams also have ignore, which is server side, but it's a little more limited
ah, didn't know you could set multiple entries
Anyone here ever know how to push a file that won't be submitted to perforce?
Submit aborted -- fix problems then use 'p4 submit -c 123'.
Some file(s) could not be transferred from client.```
"fix problems" but what are the problems?
line 1 is literally just
unreal copyright
lol
what/why are you changing the filetype?
ue4 was refusing to compile it
in utf-16 format
so i changed it to utf-8
unreal engine automatically generates new c++ files in utf-16
idk why
hmm, it's probably trying to diff the two files and can't because of the different encoding or something
also FWIW mine creates new source code files in utf-8, if yours is generating them in -16 you might want to investigate somehow
is this Binaries folder needed when pushing to git?
because that's like an extra 800mb
no
use a gitignore if you can, there's a premade one on github: https://github.com/github/gitignore/blob/master/UnrealEngine.gitignore
can i use webinar for long distance collaboration?
... What?
his confusion is probably because "webinar" is not the name of a commonly used source control system... what is it you're talking about?
his confusion is probably because "webinar" is not the name of a commonly used source control system... what is it you're talking about?
@merry verge i want to use webinar to collab with someone
but he is far away
what is webinar...
In this webinar, Senior Technical Marketing Manager Daryl Obert and Technical Artist Matthew Doyle demonstrate a unique collaboration workflow in Unreal Engine.
The Multi-User Editor is a powerful tool that enables multiple artists to make changes simultaneously to the same ...
this one
oooh I see where the confusion comes from. A webinar is a web-based seminar, it's not the name of the tool being used in that
ooh
there's no name for that tool beyond "multi-user editor workflow". They should probably come up with a better name haha. Can't really help you with it but that should hopefully clear some things up.
there's also the documentation page https://docs.unrealengine.com/en-US/Engine/Editor/MultiUser/index.html
Get multiple users on different computers into a shared Unreal Editor session, collaborating live to build content together.
thanks
@winter parcel your p4 server is running out of disk space. P4ROOT is the directory that the server stores most of its data.
@winter parcel your p4 server is running out of disk space. P4ROOT is the directory that the server stores most of its data.
@merry verge Correct! I ' ve just fix it! thank you very much
What are some good practices with p4? I'm used to git's "Commit early and often" mindset, and I'm wondering what's P4 equivalent
Hi guys, just setup a perforce on my vps. I can connect and submit from my own pc and client, but my colleague can connect but receives errors when he submits "Check-in failed as a result of save failure."
Any ideas would be appreciated.
What are some good practices with p4? I'm used to git's "Commit early and often" mindset, and I'm wondering what's P4 equivalent
@jaunty hornet Establish a policy to avoid locking each other out of files if you are working with a team. This can mean using Streams, or instituting a policy for developers to always submit their files at the end of the day. I'm in the middle of training my team to use streams in P4 instead of always working in mainline....
streams are pretty much useless for UE though...
I mean they're super good for some things like setting up CI systems
you can't use them to "avoid locking" though
on the original question: "commit early and often" is good in perforce. make sure the server has its TypeMap set up so that it doesn't keep infinite revisions of binary files. this is where P4 can have a little niceness over GIT - you can set it up e.g. to store only the last 5 or 6 versions of a binary file type, so you don't bloat your repo by constantly resubmitting little changes to blueprints or textures. I used to be "afraid" of constantly submitting small changes to binary files in GIT.
not really a reason to do that
it does make sense for map built data files
but everything else doesn't really change much since it stores the changes compressed
@dusk dove what? (I mean, no it doesn't store deltas - but now I'm wondering how much it actually compresses uasset files...)
I mean I guess like a blueprint is usually less than a MB so a couple hundred won't break the bank
Still prefer that my character BP only takes up 5MB instead of 100 though
@woven sluice So when it stores the last 5 or 6 versions, does it only track those versions i gues?
older revisions are deleted, yeah
Alright, I'll read up on that. It might be handy to use that to limit Blender autosaves as well, like I asked several days ago
we keep binaries (DLLs, PDBs) in source control and update them automatically every time a single line of code changes so... if we did this in GIT we'd be storing about 40 GB worth of garbage by now (before compression). instead we're only storing about 500 MB
makes me sleep a little easier at night for my VPS costs ๐
read up on the command "p4 typemap" and then in p4v, right click on a file and click on "Change filetype" - the options in that dialog match up to how you enter them in the p4 typemap text file
Ok thanks!
and it will only apply them to new files you add to the depot
if you already have existing files you might need to run that Change Filetype command on them yourself if you want to, to bring them up to spec
Why do I need to be connected to a server to run the command p4 help typemap -_-
jUsT pErFoRcE tHiNgS
Anyone here that could help me figure out how to pull a specific version of the engine with github ? I want to pull 4.20
and i see this which confuses me a bit:
pull requests have nothing to do with pulling
just change the engine branch to 4.20
git checkout 4.20
that would be from the command line, right ? i'll try that, thanks
do i pull in D:\UE4\UEngine420\UnrealEngine folder .. or just in UEngine420 folder?
Whats the use of source control???
It allows you to travel back in time. Time travel is cool, isn't it?
Whats the use of source control???
@quartz valve It's a pain in the arse until it completely saves your arse
It allows you to go back to any moment in the lifetime of the project
Oh okay thanks
So I recently set up a perforce server myself, but after one day, I can't login on the server or the client, it keeps saying my password is invalid even though I'm sure I know what it is. I even deleted the server and remade it from scratch. Works fine on server/client first day, then stops working on second day. Any ideas?
which source control works best with unreal? preferably free
@coarse coral you can use p4admin to do user administration. create and assign yourself to a group that doesn't have a password expiry
@ebon fiber UE4 works with most version control systems. I prefer perforce as it's centralized, has file locking and is performant
the other day I created a novel setup, which I'm using for my day-to-day work
https://twitter.com/cannabis_cod3r/status/1314095735449608193
since cloud hosting is still prohibitively expensive
perforce was the original company with a product of the same name. they were purchased a while back and rebranded "helix core" which causes a lot of confusion
P4D is the server, P4V is the visual client. P4V mostly just makes calls to the p4 command line executable.
@ebon fiber perforce is free for under 5 users, git you need to use git LFS which can be annoying to use for binary files(just another layer of things to manage)
@limpid obsidian thanks, I finally got in, I couldn't login to my superuser twice...only one user on that server. I did a passwd because I couldn't use admin commands since I had to p4 login and I couldn't do that because the password didnt' work...but p4 passwd seemed to do it...
@coarse coral as i see here https://www.perforce.com/products/helix-core/free-version-control it requires a company name, so that means you can't use this as an individual
Get free version control software from Perforce. Helix Core is free for up to 5 users. That makes it perfect for small teams โ and for large teams who want to try before they buy. Get started today.
@ebon fiber If you're working solo, u can set up a local p4 server, if u would like to do it on the cloud..which is what I just did..you have to get a cloud server(linux probably best), then install it which isn't very hard to do(15 minutes of work)
nope doesn't require a company name, there's a checkbox at the bottom that says you're not part of a company
you can just go to the downloads page: https://www.perforce.com/downloads
For updates and other improvements, visit the Perforce download page โ your one-stop destination for Perforce downloads.
the server u install differently, u dont' have to download anything to ur local
yeah they just gate that to get your email
yeah don't send them your email just download it from their downloads page. you should expect to pay about $15/mo for a VPS to run the server on (with like 50GB of storage - increasing as you grow of course), unless you do set up a local server
Ok so i set up a local server but if in the future i want to get other people to work with me can i move this server from my machine to a cloud VPS?
$15/month is cheap...I needed a lot of memory cuz of all the assets...came out to more than that on google
if your internet is good you could just keep running it locally but in my experience it was a tad slow for other people on the other side of our large flat earth
there are calculators for cloud hosing costs by Digital Ocean and AWS. The cost depends on the instance type, egress charges, storage, and snapshot costs
I totaled it up and found I could buy a 2TB SSD for cheaper and host my perforce server on that via Docker
@woven sluice yes i assumed that but i was wondering if it is possible to migrate this server from my machine to a cloud VPS
you can migrate it but IDK how much of a pain it would be to migrate it from windows to l00nix
if you want to migrate it from local to the cloud, I recommend running your server on Ubuntu from the start
you can do so via Docker or WSL 2
@limpid obsidian thats what i also thought doing
p.s. for the distant future, if you ever become big and famous with a large team and have to pay perforce, note that they have a very stupid licensing system which locks the paid server license key to your server's IP, and you may have to pay them the annual maintenance costs of some thousand dollars for them to migrate it. 
@limpid obsidian wow that's cheap I gotta relook into all that pricing ๐
@woven sluice so that means when u start paying for a real license, switch to a more dedicated IP maybe...
Ok just to recap to organize things in my head, I should setup a p4d server on an ubuntu and create a perforce account or a perforce account is needed only to use their cloud ?
you don't need a perforce account to download or run their software
yeah no p4 account...they don't have a cloud service for helix core(requires 3rd party Assembla.com, but honestly setting up ur own server seems preferable if u know how)
and then on my windows machine i should download Download Helix Visual Client (P4V) ?
yepper
yeah, also the p4admin
during the install, make sure you check p4 admin tools and command line tools
@limpid obsidian during the install of the client you mean right?
yep
okay thank you guys, if i encounter any problem i will come back here ๐
btw is the workflow any similar to git?
git is inherently a distributed model, with each user having a copy of the entire repo. works great for building linux, but not so much when trying to collaborate on binary assets that can't be branched/merged. perforce is a centralized model with support for file locking out of the box. you can use git with a centralized model and lfs, but it's cumbersome at best.
It's quite dissimilar imho. You have to "Check out" files before modifying them, which tells other users you are working on it and syncing to the latest version of them. Then you check in files to the server. This also means by default a lot of your files are "read-only" before you "checkout". You can set the option for it to not do this(I made everything writable regardless of checkout)
But yeah you get less conflicting binaries because you tell other users you are looking to maybe modify a file before you actually do, binaries can't get merged.
One big thing I really needed it for was file permissions, which allows me to hide files from certain users, like contractors
Also, check out using "perforce streams" instead of classic branching...which is itself two different workflows within the centralized model itself
two important things you'll want to setup:
- typemap: determines how p4 treats files (as text, binary, lockable, writable, etc). the UE4 docs have a basic typemap
- ignore file: similar to a git ignore file, you'll want to prevent checking in any intermediate files generated by the build (Intermediate, solution files, etc)
(why would you make everything writable? what are you using that doesn't have automatic integrations?)
it depends on which git plugin you use
if you use the git lfs 2 plugin, it is pretty much the same
check out will checkout stuff in p4, just like it locks stuff in git lfs
Git LFS file locking works fine in my experience, but is generally slower than Perforce checkouts.
It does require downloading a newer version of the UE4GitPlugin, though. The one included with 4.25 is still quite old and doesn't support file locking.
@woven sluice I set up mine a bit weird probably. I have the built dlls and some other binaries that the editor needs to run(but not all the intermediaries most of those are on โisolateโ) and those donโt get automatically checked out when I do a build
@coarse coral fyi you might wanna learn about the typemap settings for your server (and the setting +w specifically) and then change your DLL file types, if that's how you need to operate. also, if you eventually set up something else (TeamCity/Jenkins/CI) to build/submit binaries for you, you can use a virtual stream to cut the DLLs out of your local workspace (or just use an ignore file)
@woven sluice +w on typemap sounds good. Thank you. I will eventually set up a build system, I had a batch file to copy over the files, but decided against using it because I don't yet want to maintain it for all the new folders/files we add.
Yeah it is slower due to some stuff in the plugin, there are some pending fixes for that afaik @neat grotto
Oh it's more related to the plugin than the actual locking protocol?
Hopefully Sebastien can improve on it then! Git is more viable for UE4 than it has ever been, at least in my experience.
Still very anxious to hear the source control story for UE5 next year.
Did they say there were changes coming? Doubt it'll change much otherwise aside from maybe updating the plugin.
Yeah, it's kinda both. The plugin assumes some things are cheap and spams it often, while there are things within Git LFS that allow to reduce the requirement for calls.
Ah OK. Gotcha.
For example, when you lock, it does a lock request and then checks the locks list to see if you got your lock in, and then in some cases, it will do an update status, which checks the locks list.
Whereas Git LFS allows you to check your own locks for free, because their success is verified within the lock request.
Also UE4 Source Control has a cache for source control file status which is used improperly in the plugin.
Did they say there were changes coming? Doubt it'll change much otherwise aside from maybe updating the plugin.
@merry verge All we know so far is that levels are moving to a file-per-actor system and UE5 will bring an asset virtualization system.
ah right, forgot about that
yeah, will be interesting to see if source control changes come with that
Indeed.
I thought they also talked about their own source control service at some point, maybe not in the UE5 announcement
I might be misremembering
I haven't heard them mention that specifically, but there's a lot of smoke so...
But yeah, overall, been very happy with Git. Especially the hosting and ecosystem. It's lightyears ahead of anything Perforce offers or anything that you can set up manually.
The file-per-actor and asset virtualization things are def coming, but I remember years ago they were working on a new .uasset format that was text-based and mergeable.
I have made my own fixes to the plugin which are messy and they partially help so it's a bit more tolerable.
I think they canned that.
Probably. ๐ฆ
But the asset virtualization thing sure is interesting.
I don't know how they would make that work with every existing source control provider. Seems more practical to either go all in with one provider, i.e. Perforce, or roll their own solution into Epic Online Services.
Details are light right now so this is just speculation. ๐
What we currently know about asset virtualization:
Instead of pulling down an entire project's worth of data, you instead pull down a small set of metadata about the assets in the project. The real full data should then be stored on some fast shared storage - of which there will be multiple possible options here - then the full data is only downloaded on demand locally by the editor. This means you only have to pay for the time and drive space for things you actually use.
Sounds a lot like Dropbox SmartSync.
It does sound like it a bit. Especially the vague "some fast shared storage".
Playing devil's advocate, though: Perforce is pretty entrenched at Epic, so it's hard to imagine them migrating away from that. If they roll their own solution, you know they'll be dogfooding it so they can say "and we use it to ship Fortnite."
The studio I'm at rolled their own virtual filesystem layer on top of perforce that does basically the same thing. It'll probably be something like that.
Oh wow, neat.
I wouldn't be surprised if Epic did the same and it only worked with Perforce.
Yeah, but I wonder how everything will change with the pandemic and how remote everything is. Fast shared storage doesn't ring a bell to me in that situation ๐
Mmm, yeah good point.
This was back in July during Unreal Fest Online 2020.
Who knows what's changed since then.
Yeah the tone has definitely transformed from "this is just temporary", to "we could be here for a while" and "why not keep this permanent"
hello guys I use source tree as source control and gitlab online
I am trying to push my update in gitlab but I am getting error:
there is one branch
I want to delete it but I am getting error again ๐ฆ
you can't delete a branch that you're using
you have to switch to another branch first
and check that log to see if it has more detailed errors
okay
how to switch to other branch
I want to push and pull from master
idk how i have this branch tbh, lol
git checkout master
if you already have it locally
or in sourcetree double click on it in the list on the left
In git, I have the following:
-D--E-
/ \
A-----C--------F--G
\
-B
I want to rebase C..G on top of B, but without losing the branching of D and E. Even though F could have been a FF commit, I'd like to keep the branching in place.
Currently, when I do a rebase, it flattens out the branch.
setting up streams in perforce for the first time, but I'm not sure what my folder structure should look like. I'd like to have a master project (possibly several games) , then streams for oculus, steamVR, and quest. So would all game projects go into main or should I not do that
I want to rebase
C..Gon top ofB, but without losing the branching ofDandE. Even thoughFcould have been a FF commit, I'd like to keep the branching in place.
@sturdy lakegit rebase -p
Thanks ๐
Since asking I've discovered that --preserve-merges has been deprecated in favour of --rebase-merges
You're right, I've learned something new today too, thanks ๐
And it does exactly what I'm after
Hi All,
I'm having an issue where when I submit built lighting files through source control, other clients do not apply then and I'm stuck with all my levels saying they need to have lighting rebuilt. Any idea why?
I fixed it
I fixed the problem with the source tree
the problem was that when I create new repo
I move the stuff from the other pfolder
and I copy the git folder and inside there is the second branch that's why errors
now I copied without the git folder and all is good
Hi all, using Perforce, when my colleague updates a map, and lighting build, when I download/get latest both files download but on my system the lighting is still waiting to be built? any ideas why this would occur
@scenic horizon You can right click in your content browser and hit "Sync" if your editor is configured for perforce integration
gah got locked into a 12 month contract with assembla..thought it would be month to month. Anyone know how to get out? I'm not even using them....but now I have to pay $1500 for a year...
Have you tried contacting them?
Can anyone recommend a Git client for working with engine source builds? Until now, I have mostly just downloaded a zip and built. I'm thinking of actually using a Git client to manage it to make updates easier. I've spent very little time working with Git.
I also use perforce, in the off chance that's relevant.
@kind olive git bash
if you're looking for a graphical client... anything on this page https://git-scm.com/downloads/guis
Or learn to use the command line.
sourcetree and github desktop are probably the most commonly used free ones.
I have also heard good things about Fork: https://git-fork.com/
Question for people that use version control, after you create a PR and commit it to the main/master branch. When you want to rebase another branch with the main/master one and you get merge conflicts, how do you handle them since there isn't any code for you to change?
Yes
Hmm, they might have gone paid recently
@quaint obsidian Yeah I just looked and I liked the way the UI looks (better than SourceTree) but then I saw the price and changed my mind ๐
Merge conflicts on binary files are a either or, you can't merge the content within. You can use the git lfs checkout command to pick which one.
I expected as much, just wasn't sure how to pick one over the other thanks. This basically means that if I work on Branch X on a certain uasset file I shouldn't make any changes to the same file in Branch Y as I will have to pick one of them meaning that I will lose some work.
git lfs checkout --to path/to/file.uasset {--theirs,--ours} -- path/to/file.uasset
So if you want the file from the branch you're merging from, git lfs checkout --to path/to/file.uasset --theirs -- path/to/file.uasset
if you want the file from the branch you're merging to, git lfs checkout --to path/to/file.uasset --ours -- path/to/file.uasset
Nice thanks, I will see how it goes ๐
You can also use --base to use the merge base (common ancestor of both files)
I think the command does not automatically add the file to staging
so you will have to use git add as well
and then commit the merge resolution
Good morning. When using Perforce with Unreal, what might a ".uasset isn't in revisions table!" error mean? Unfortunately, it's preventing me from checking out a particular asset.
not sure but are you sure you're up to date? (run Get Latest)
It's up to date, yeah.