#source-control
1 messages Β· Page 53 of 1
Yeah, it looks normal.
It would seem duplicating the file and deleting the original solves the problem.
Thanks for your time, HoJo.
Just a quick question, when working on a project I keep making changes to the map as I add something new to the feature and when I push the commit the map will also be part of it. Now if I have another branch on which I made some changes and the map also got pushed. If I then merge the branch with master I will overwrite the master map which is fine, if I want to merge the 2nd branch I can't overwrite the map anymore as it has some changes this branch doesn't.
Does that mean that when working on a branch I should never update the map and only work on blueprints or files? Then I have to make another branch or work directly on master and update the map with the changes?
well. you can't merge maps or blueprints with UE. branching is arguably useless and should mostly be avoided.
I am asking because I am wondering how do teams handle working on a project at the same time?
you use file locking. or if you don't have file locking, you coordinate very carefully and hate life
Keep in mind that there are diffing tools within UE4 for conflicts, at least for blueprints. So when source control marks assets as conflicted, you should be able to compare and resolve them in editor. This applies for all Blueprint based assets, including Behavior trees, anim graphs, etc.
But of course, art assets and maps are not mergeable in any capacity
So yeah, it's just a matter of preventing people from working on the same unmergeable files at once. GIt, Perforce and Plastic support locking, not sure about the others
Interesting, I will take a look at at that tomorrow,
I have setup GitLab and Sourcetree, but I find I cannot pull changes from the repository without exiting the Unreal project, appears to be a lock file issue. How can I leave the project open and pull changes and have them applied to the project? I can do this all day in Unity, but this is my first attempt with Unreal. Any help would be much appreciated.
Use the editor to pull changes. I'm not using the git integration so I don't know exactly what it looks like, but there should be a "sync" or "pull" option either in the source control menu or by right-clicking your content folder
that'll let unreal gracefully reload assets as it needs to
I have tried the default Git plugin, but it does not have a sync. There is a newer Git LFS 2, and it does have a sync, and it appeared to do what you said, I tried it last night. I guess I need to test it more. I am use to using git outside of projects, so, I was hoping to do it here also, but based on your commit, it sounds like I need to do it with the integration. Thanks, I will embrace the integration.
Maybe I am doing something wrong, but my tests with Git are not going well. If I use the Git beta (the one included in the engine) there is no sync, so to do a pull, I must shut down the project. If I load up the Git LFS 2 plugin (UE4GitPlugin) it is really slow (like 10 plus seconds) to popup the commit box. It does have sync, so it can do a hot content load from the editor. Unless I am doing something wrong, I feel like git does not work well with Unreal. What do you think?
When i tried it briefly before i found it very difficult, the commands don't line up, since git has more steps than say perforce @sullen mountain
.
Speaking of perforce, i'm losing my mind over an issue. i added around 500 files to a change list, and when submitting perforce breaks the connection after just a few seconds. i tried this from the p4v visual client too
if i submit just 10 or less files from that change list, it works fine
ive searched all day (about 7 hours now...) and can't figure this out. the actual error i get is SSL receive failed. read: The operation completed successfully. : WSAECONNRESET
googling this gave me a lot of suggestions, but none of them worked. its just strange because everything works fine until i try to submit too many files at once. though i feel like this limit is very very low for a normal workflow of adding plugins etc to a project?
the perforce server is on the same LAN as me, submitting has been fine since i set it up last week. it just seems to choke on this bigger changelist
you're using SSL on a LAN?
@turbid harness I've had that before, is your server running on Windows? That issue eventually disappeared when I started using Linux which is probably not helpful at all
@sullen mountain The Git LFS slowness is just some errors in the plugin as well as some stuff within Unreal which the plugin isn't interacting well with.
They can be fixed, https://github.com/projectborealis/ue4gitplugin
Thanks @quaint obsidian. We have a short timeframe on a demo, so I can't look into right now. I am thinking of using git without the integration and exiting the project to pull (oh, that makes me cringe just saying it). I have used Plastic before (in Unity), if that works well. Do you have a recommendation?
Oh snap. @quaint obsidian I didn't know you guys were sharing your custom build of Seb's plugin. π
I'll have to try it out during the Epic MegaJam!
I'm relieved to hear the slowness is related to the plugin and not Git LFS.
Hi guys, do you know if Perforce is having some management issues atm?
They don't look like answering to emails
how would anyone here know that without working there...
Can anyone share anything at all about how using an AWS ec2 instance went for you? Specifically I am wondering a very rough estimate of what you would get charged for going over 30gigs of space, which breaks you out of the free tier
Yeah. I've been trying to clean the branch up recently but it's a lot of work since our fork is a mess of patches, so it's still not as fast as it could be.
@sullen mountain Yeah that makes sense. I haven't used anything other than Git, so I can't make a recommendation but I have heard nice things about Plastic. Though, managing Git externally should work too if you're tight on time.
Like what custom plugin pfist is talking about above, are people successfully using git in editor, and having visual diffs, and no troubles with unreals binaries?
@turbid harness I've had that before, is your server running on Windows? That issue eventually disappeared when I started using Linux which is probably not helpful at all
@jaunty hornet sadly this is a linux VM on our network. actually dont know why its doing ssl by default, perhaps this is part of the problem. didnt ever have this issue when we were on windows with no ssl
Heyhey Lovely humans, anyone here has experience with the GIT beta source controll for unreal? Any pointers or tips? Something to worry about?
just don't us it in editor
there's plenty of great GUI's for git
like sourcetree or the github desktop app
If you want to get a solid understanding of git, it's worth getting your head around the command-line, even if you do use it through a UI most of the time
I keep getting these popups, "Perforce password (P4PASSWD) invalid or unset" little messages when using visual studio and the perforce plugin alongside unreal editor being open. Does anyone know why? I'm logged in and I'm sure my session hasn't actually expired since I logged in only an hour ago(session is set to 12 hrs). I think unreal editor is trying to check out files or something, the credentials on there are good and logged in too...
It's reallllly annoying, not sure if it's the visual studio plugin or unreal yet....
@ornate willow use the AWS calculator to estimate your costs
@coarse coral use p4admin. create and assign yourself to a group that doesn't have a password expiry
@limpid obsidian so I get these popups very very frequently. When I'm closing them, it can be up to 20 popups..they keep popping up one after the other, that still sound like it's part of the password expiry? The more I work, the more it pops up every 30 seconds to 1 minute or so, I think it maxes out at 4 windows open at once(non-modal popups), then I have to close them, but more keep popping up instantly after I close one since it was like a queued thing...This feels like very errorneous behavior
@coarse coral it sounds like you need to log into your perforce server through command line, that's where you would set the P4PASSWD variable, it's independent from p4v
and is probably what VS is looking for
That's incorrect, P4VS uses the same token storage P4V does so signing in to one will sign-in to the other. Unless they have something configured super weird...
yeah I also did login command line. Seems like this thing is happening off and on, if I restart visual studio there's a chance it doesn't even do that anymore for the whole VS session...I'm not sure what's going on :/
Like I just restarted VS and now it's ok again...
Maybe I logged into VS before I logged in to p4v earlier?...shrug
sad that no one else gets this thought it might be more common problem with some work around
Never seen that before, I use P4VS all the time along with P4V. Might be an issue with the server rejecting the connection for some reason?
hard to say
I'll just keep an eye out of what situation triggers it. Thanks!
Hello there !
I don't understand Perforce Pricing. If I self host my server, can I have unlimited users or do you have to pay for each users after 6+ users ?
Self-host or not, you still need to pay for licenses when you add 6 or more users.
And your only option is to pay annually.
In other words: Perforce is either free (5 users or less) or starts at $3,500/year.
oh okay
also it is totally against the licensing agreement to share a login amongst multiple users and make use of the 20 workspace limit. totally against. i said nothing, you heard nothing
well thank you !
its super loud
Is anyone here using Azure DevOps for Git LFS repos?
I did for a game jam
@jaunty hornet figured out the problem! the ssl connection was screwed up, it would work for a short time (2-3 seconds) but if the transfer took longer the connection would always be interrupted
since we're working on LAN and its all trusted in the network, we disabled ssl and now everything is fine
@south ingot I'm using AzureDevops for Git LFS repos. I highly recommend it if you're planning to use Git. The free tier has unlimited LFS storage for teams of 5 or less. Works really well, as long as you use a custom version of the Git plugin for UE4 that properly supports LFS.
@turbid harness Thanks for the update, great job!
Right now with all this teleworking, I hope we won't encounter the same issue
yeah it was ubuntu VM running p4d default configs, with windows client
π€·ββοΈ
your options are basically perforce, plastic, or git. One of those is $$$, one is $$ and owned by unity now, and the other doesn't have quite as good non-engineer-focused tooling.
git lfs is probably the answer if you're on a budget
how about for hosting?
For which? The only options for perforce are assembla (meh, also expensive but at least you don't need an even more expensive perforce server license) or to roll your own (AWS, Azure, GC, Linode, DO, any other VPS provider). No idea about plastic though I think they do have a hosting service themselves. For git you can use pretty much any common provider that supports LFS 2 - Github, ADO, Gitlab are all common options.
DM if you are good eith epic endpoints and API will be paying good
hey guys and gals. I am having a super hard time trying to follow devsquad's UE4 tutorials cuz 1, its an older version, two, he goes way to fkn fast, and three, he messes up himself alot so i really am not learning crap from him. could someone suggest a video tutorial series that takes its time and describes things in depth for UE4? links would be much appreciated. youtube preferably
@vocal edge Wrong channel
@south ingot cool
Getting this message repeatedly
oh
seems like a DNS issue
what is this error? I am trying to push to gitlab, but Its not working
what is your branch called locally
it should say it in the above command you did that also says nothing to commit
(git status)
I have tried to push with github desktop; as the recommendation did not fix that. It seems ok; but push hanged up here
doing it with the cli; it was all kinds of messed up
it wasn't supposed to fix
it was to get further information
but i think its still uploading
after a long time; it did this
in git, how do I refresh my fork's branch list with that of upstream?
you need to set up a remote for upstream
I have
then fetch it
I did
the problem is I'm not seeing some branches in my origin that are there in upstream
git push origin 'refs/remotes/upstream/*:refs/heads/*'
hm what does that command do?
pushes all refs from upstream to origin
git push <repository> <refspec>
<refspec> is src:dst
ok so it won't be changing any files, just updates the branch list correct?
I am not entirely sure what it will do to existing branches on origin (that are also part of upstream), but I think it won't modify them without a force push
i can test it probably
that would be awesome
$ git push origin 'refs/remotes/upstream/*:refs/heads/*'
Total 0 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/ProjectBorealis/prefabricator-ue4.git
* [new branch] upstream/4.22 -> 4.22
* [new branch] upstream/4.23 -> 4.23
* [new branch] upstream/4.24 -> 4.24
* [new branch] upstream/4.25 -> 4.25
* [new branch] upstream/alt_ser -> alt_ser
* [new branch] upstream/construction -> construction
* [new branch] upstream/dev_4.25 -> dev_4.25
* [new branch] upstream/kaos -> kaos
* [new branch] upstream/thumb -> thumb
! [rejected] upstream/master -> master (non-fast-forward)
I had to first refresh the refs by pushing one branch manually, and then I could wildcard it
hm do I need head or heads?
master was rejected because it was different from upstream
oh right
its heads
sorry :D
i think that might have been why it didn't work before
it would just create references
it took a while, ran, but nothing changed
called head/branchname
I'll try w/ heads now
yep!
how do I generate a patch file that contains all the commits of a single author?
alternatively, if that's too difficult, how do I generate a patch file that includes multiple commits (SHAs)?
Anyone know how to force ignore a file that's already checked in to perforce repo? Was accidently not ignored..Do I have to delete it from the repo first?
yes
:/ that's annoying.. have to back it up locally still then..
@languid escarp Aren't you the only author π
I imagine u can create branch from an old commit, cherry pick new changes maybe then diff the branch? If u need specific commits?
trying to get access to a project using github to download the zip for some reason this message pops up
when i open up the project the files are there but the contents are not
anyone know whats going on?
@coarse coral if you have admin access I think you can just obliterate it from the depot instead (don't blame me when your depot is RIP though
)
@woven sluice I was keeping obliterate as a tool to use in case I needed it in the future...it can corrupt the depot tho? ... that sounds scary..
It shouldn't corrupt the depot, but it can delete things forever.
basically, verify what it's going to do first - for the command line at least the default is it only lists out what it would do and you need to explicitly pass -y for it to carry out the operation.
a bit late, but you can use git log to list commits in a format that git format-patch takes and then pipe that into it
git log has a ton of tools for filtering commits
So there are 6 of us and we will be making a level together. What tools/services should we use that are free? I've heard Multi user editing works on VPN and LAN only and we aren't on either. Also, for source control, Git LFS has a 1GB cap on it and Perforce has a 5 user cap on it.
Any solutions/workarounds please?
Git LFS doesn't have a 1GB cap
Maybe you mean GitHub? It's not the only Git hosting
For example, GitLab has a 10GB cap
As for multi-user editing, you can make your own VPN over WAN with Hamachi or a similar program
Cool. We're using Git for now. However, thanks for the suggestion π , we'll definitely try it out later. @south ingot
also about perforce, users does not necessarily mean workspaces
you can have multiple people using the same user
depending on what work you're each doing you could also use multiple sub levels and use one general level to put them all together
e.g. we split our levels into 3 parts, a design level, an art level and a trigger level, but they're all sublevels of the actual same map
@rotund bobcat perforce onboarding is terrible
not saying you should use it, just saying the 5 user limit is misleading
I use git myself as well
doesnt 1 gb cap hinder?
there is no 1GB capacity
depending on your hosting I guess
we're on bitbucket and have wel over 200GB on our lfs server
of course there's a cost with large data
Actually @wide glen is talking about git lfs on github
seems like the 1GB is the free limit, so if you want more you can pay for it
yeah
makes sense that they don't give unlimited free storage space tbh
we're looking for free alternatives
maybe gitlab has bigger storage? idk
I already said it has 10GB cap
There is also Azure DevOps with unlimited storage but 5 user cap on the free tier
That's what I'm using
I switched to it from GitLab
Not expecting my team to grow larger than 5 people anytime soon
There is also Azure DevOps with unlimited storage but 5 user cap on the free tier
@south ingot I think that's the same plan as perforce?
Pricing wise
@timid sage As far as I know, Perforce doesn't provide free hosting at all
You will have to set up your own server
Actually we are a team of 6 members, learning game dev. And as we are just students, we don't have a lot of budget.
So gitlab is the best option for us ig?
Alright, thanks!
GitLab worked very well for me
That's great to hear!
doesn't github have some student extras as well with bigger storage and stuff, or do they not do that anymore?
Didn't think of that, let me check
@rotund bobcat how was your experience with perforce?
like I said, I use git myself, I just know the user thing is misleading to most people
no experience with perforce personally
What user thing are you talking about?
oh okay
the fact that 5 users does not necessarily mean 5 people
I don't think it's mentioned 5 users anywhere?
perforce is free up to 5 users afaik
but you can have multiple workspaces under the same user
user is more like access level in that context
@jaunty solstice wanna chip in more input?
it seems GitLabs is the most viable option for us at the moment
perforce is free up to 5 users afaik
@rotund bobcat Is there any data limits for those 5 users?
again, I've never used it, so I don't know
cool, thanks for the help @rotund bobcat @south ingot π
the free Perforce license is strictly limited per login/workspace count, no other limits
5 logins, 20 workspaces, no limit on server otherwise. a workspace is like a "mapping" of what a user is working with from the server, and is tied to a computer by computer name. workspaces are just owned by logins.
@timid sage
I don't believe you can set up multiple servers that can talk to each other on the free license
maybe, although I've never seen any evidence of that... haven't tried either though since I'm in a small team and it'd be kinda pointless π
I was actually looking at source control options. Its only for me and my wife so we can use SCM for multi-user editing. Is P4 the best option for us ?
We don't have much money .. yet !
If you plan to run it on a local server, then yeah
If you want something in the cloud, then Git LFS on GitLab or Azure DevOps would be much cheaper (free)
What tends to be the approach for doing code reviews in UE4 projects? Coming from other engineering backgrounds I'm used to pull requests or something similar...is this something that is done regularly in UE4 game development?
We're currently planning to use azure DevOps w/ LFS, still testing it out to see if its viable.
I already said it has 10GB cap
@south ingot Can you pay to lift that cap? Is that just the free tier? or is it a hard limit.
It's a hard limit, they want to implement some way to expand it but it's not available yet
ah, fuck.
welp, going to assembla then for hosted perforce. That was a fun diversion.
its crazy how little diversity of choice there is for hosted options.
Azure DevOps is unlimited if you want Git LFS
@south ingot how difficult is it to work with that?
It works the same way as GitLab basically
I'm not familiar with that, sorry.
Did you work with Git at all before?
You would need to set up .gitattributes to specify which file extensions should be handled by LFS
That would be .uasset files primarily
These files would be treated as "black boxes", and Git won't try to diff them - it will simply store each version
Everything else, i.e. the actual souce code, is handled the same way you're familiar with
is this different than what perforce will do for us?
I know perforce is more centralized has checkout constructs, but does it handle diffing of these .uasset files differently??
No, it does the same thing with these files, as far as I know
ah ok
They're both doing the same job ultimately
Before LFS was implemented, Git would try to handle big binaries the same way it handles text files, and it would choke on them
LFS was made to fix this issue
Hold on, I'll share the one I'm currently using
appreciate it!
*.umap filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.tga filter=lfs diff=lfs merge=lfs -text```
That's it
cool, and do you have to actually lock/checkout assets?
using the LFS construct, that all works?
Yeah
Locks are supported too, I think you need to enable them on your local Git installation before you can use them
But it tells you about that the first time you work with an LFS repository anyway
Even supplies the command that does it
OK I did that part.
thanks for the explanation, we'll stick with Azure DevOps for the time being then and save some money.
[attr]lock filter=lfs diff=lfs merge=binary -text lockable
[attr]lfs filter=lfs diff=lfs merge=binary -text
# Unreal Engine file types.
*.uasset lock
*.umap lock
# Steam Audio files
*.phononscene lfs
*.probebox lfs
*.probebatch lfs
*.bakedsources lfs
# Binaries
*.exe lfs
*.dll lfs
# FMOD
*.bank lfs
*.wav lfs
*.mp3 lfs
*.ogg lfs
*.flac lfs
# Icons
*.png lfs
*.ico lfs
*.icns lfs
# Movies
*.webm lfs
*.mp4 lfs
*.wmv lfs
here is my .gitattributes, has locks enabled too ^^
@quaint obsidian thank you!
the merge=binary instead of merge=lfs makes it so it keeps the integrity of the file, but marks it as conflicted if there is ever a conflict
that way, you can easily load the file in ue4 and compare the two revisions instead of the default git lfs behavior of making it an invalid pointer file which can't be loaded by UE4
Awesome this is super helpful
maybe, although I've never seen any evidence of that... haven't tried either though since I'm in a small team and it'd be kinda pointless π
@woven sluice we set up a remote a year or so ago, and needed a paid license for that (which we already had, but it was something that I clocked in the docs)
Thank you mastercoms, I just updated our .gitattributes using your lock and lfs attributes at the top, that is sure handy, I had sat there and typed out each type lol. Our team is trying out your git LFS 2 plugin, so far so good!
Hey there!
I want to set up the multiuser team editing using a VPN on google cloud. Has anyone have experience how to start to do that?
I have perforce up and running using the default port but this is causing problems, how can I chang the port it listens on? the docs say to change "P4PORT=ssl::PORT" but no instructructions on where to change it
nevermind I reinstalled and set a different port but still unable to connect from a remote machine π€
Firewall was blocking it π
Does anyone know how to setup a perforce .p4ignore file that works out of the box for all users?
ok im about to loose my mind
so
ok this is fine and dandy
the file in question aint friggen there
its like ah yes delete this to push
but it just dosent exist
it's probably in one of your commits (will have to rewrite your commits) or it's your editor pdb
Hey all, I'm not sure if this is the right place to ask this, so please direct to me the right place if I am mistaken. When I try to publish my git, I am hit with this error message. I understand what the error is but I have no idea how to find the files that exceed the size limit. Could anyone help me out? Thank you.
@torn compass the best I have found is to checkin a .p4ignore file to the root but still need to get each user to setup p4 command line with their workspace settings and to run p4 set P4IGNORE=.p4ignore
Maybe you have a bat file all users run or something you can use?
I wish there was a better way
Ahh a bat file is a good idea actually! I might have to give that a try. It can be quite hard explaining the command line stuff to an artist sometimes
yeah but you still need to ensure p4 command line is setup which is a pain
so my usual method is
- Right click on the BAT file in p4v and choose Open Command Window Here
- in the cmd type RunMe (or whatever the bat file is called)
maybe a Custom tool can be automatically imported and the user could run that...
hello guys, i am new to unreal engine and i need to make source control
now github is not possible
even with gitignore and LFS still need to pay money to make it work
i heard that people use perforce
is the Helix Core free ?
or how much of storage does it give me
Helix Core Is Always Free For Small Teams
Just because your team is small doesnβt mean your needs are. Thatβs why Helix Core is free for up to 5 users and 20 workspaces.
the storage is not mention does that mean it's unlimited ?
It doesn't give you any storage, you will have to find a server to actually run it
It's not a cloud service
So either install it on your own computer with however storage it has, or rent a server from Amazon, Digital Ocean, etc
ok so that means it's up to my own storage
what is the best option around for paas ?
There are recommendations in the Pinned Messages
I don't use PaaS myself, I use Azure DevOps
It has a Git LFS option, and the storage is unlimited for teams of up to 5 people
When I am setting up source control it is not making the .git file in my project folder, any suggestions on how to fix?
@quaint obsidian thanks
Thank you
where should i start to learn about source control ?
Gumroad: https://gumroad.com/cannabiscod3r
Important: make sure your SSD is formatted as NTFS!
great vid π
When I try to publish my git, I am hit with this error message. I understand what the error is but I have no idea how to find the files that exceed the size limit. Could anyone help me out? Thank you.
@inland maple you'll need to buy more storage for GitHub...but, I'd recommend you checkout Azure DevOps if you wanna use git, its free for large projects and has LFS locking support which you might want.
I had a bad experience with GitHub/UE, but a slightly better experience with Azure DevOps
That's not the error they're getting. The issue is github doesn't let you store files > 100MB (unless using LFS), it has nothing to do with repository storage limits.
Yes, sorry, the assumption is you need to use LFS.
but you still pay for storage costs there as well.
The solution is to use LFS migrate on large files.
Even if moving to ADO that should be done.
where you'll get 1 GB of free LFS storage, but you'd need to continue to purchase additional space.
ADO has more flexible pricing was my point.
its fundamentally the same functionality.
@inland maple You can see the file list in terminal/console/command prompt output. I am not sure where to access that in GitHub Desktop, but perhaps you could open git bash or some other terminal, and enter git push to get the full error log.
hi guys, could someone help me with this error?
I want to compile the engine with the solution generated from the unreal engine github repository
@spiral oasis #engine-source
When I try switching branches via Github Desktop, my files update in file explorer, however when I open my client it doesn't see the new files. I have tried clearing binaries and importing but the new files don't show up. Any ideas?
How's people's experience with using digital ocean with multiple users?
For perforce?
@vivid nacelle what do you mean by client
Do people get charged for users accessing the droplets via perforce?
@wispy kettle There's nothing special about DO, you're just renting a VPS and what you do with it is entirely up to you. They don't charge you based on what you do with it (though you do need to be careful about bandwidth limits). Perforce itself is free up to 5 users, and $$$ for more than that.
Ah yes that's reasonable. This will help me clarify things.
Thanks @merry verge
Hello guys I use source tree as a program for source contorl, I have worked with it since 2018, yesterday I created new projetc in gitlab and I decided to go in source tree and clone the project, I got the link from there, the window for loggin popup up, I did it, and then it wrote me that the link is invalid, how I can fix this error?
If you click Clone on the webpage and select HTTPS, thatβll give you the link to use.
It could be because it's a private repository
I tried adding a gitlab repo into SourceTree with a public repo link, and it seemed happy
oo yeah
the repository is private
I did it private cus noone to have access to it, only the people who are invited
so?
Do you have SSH keys already set up in GitLab?
If so, you can use the SSH link instead of the HTTPS one
Otherwise, I'd set up a remote account, using the link at the top of the SourceTree screenshot you posted
I don't think I have ssh key
it asked me when I installed source tree and I asnwered with no
so what to do to fix this problem with the cloning?
have you tried linking your account?
aa
let me try
I tried to login with gitlab
and I reset my pasword
and it again doesn't accept my password
hmm
Have you followed the instructions linked to?
I couldn't say. It would probably be fine
I don't use GitLab myself, so I couldn't say for sure
A OKAY
ops caps π
okay I created it
now what?
I created it but idk what to do next
hmm
I logged with the token instead of password
but now the link again has problem
if you check in your tools options, is there a git version installed?
maybe you skipped it during sourcetree setup
which menu exactly
tools > options
but your authentication also needs to be in order on your account probably
dno how gitlab does it, but with bitbucket you can just pick oAuth2, so idk if gitlab has that as well
which to update?
the button that says "updated embedded"
when using perforce, is there a good template for what files should be ignored? Also how does one designate ignored files/directories in p4?
This one looks pretty good: https://forums.unrealengine.com/community/general-discussion/1450763-setting-up-perforce-solved
I have a Windows 10 laptop I am going to use as a dedicated server for Perforce. I have Windows 7 Desktop that I will be working from. I have no experience with
@rugged jacinth @quaint obsidian Thank you. I will try your recommendations
okay so my project in gitlab is set to private cus I want noone to have access to it, but now I can't push update-howI can keep the project safe and be bale to push?
SSH keys is the best way to go for that
idk how I can do ssh keys
but I remember that the previous times I didn't use ssh keys
and I cretaed the projects private
and I didn't have problem with clone, push or pull
when I am the woner of the project and the project is set to private and I only use it why I can't push updates when I am added to the project? hmm, no sense bro
Not a clue
you can use git credential manager core
oh HELL NO
microsoft bans you for whatever reason and you lose all your accesses at once, fuck that
this doesn't use the cloud
it just uses your OS' credential store for git credentials
it also uses oauth so that you can easily configure authentication using a personal access token for services like GitHub, Bitbucket, Azure DevOps
it's entirely local software, besides the oauth sign in to your git provider
@noble knoll maybe I misunderstood, but I don't see how this enables Microsoft to "ban" you and lose all your accesses
ah thats better
I've setup source control with AWS (Windows Server 2019) and Tortoise for local editing. But how do I exclude the 'save' and 'Intermediate' folder?
Add them to .gitignore
I'm using SVN.
Found that I could exclude them via Tortoise options. But that's only locally I guess.
Any Assembla P4 users here? Wondering what folks are doing to continuous delivery/build pipelines from hosted perforce contexts.
I am not assembla user for now, but I researched much about CI in cloud and concluded, that it should be cheaper to host CI on a local machine, as you need big amount of space and cpu performance for builds. Didn't find acceptable cloud solutiilons for it. But you can try to calculate aws/azure/etc price for dedicated windows server machine with enough characteristics and compare it with self-hosted solution.
At least if you plan to develop something greater, than tiny mobile game
I would recommend JetBrains teamcity as CI platform, but it depends mostly on your peeferences and project specifics
I made a branch in perforce because I was afraid of breaking some blueprints. I ended up fixing those blueprints, but now I've got this second branch that I can't delete because unreal says it's referencing assets in there. I tried merging them, but that didnt seem to do anything. Does anyone know how to fix this? I don't have much experience with source control as you can probably tell.
After not using source control my game project almost got corrupted
very cool
I've learned my lesson
Glad to hear it
Could someone please point me in the direction of a tutorial that will help me set up source control for free(Not with Github Please)
@heavy barn Try to Google Unreal Source Control with VisualSVN and AWS . You should find Some guides.
Github is free, when you try to pair it with gitlab then it costs money.
However you can also use a free version of perforce hosting it on your local machine
Git is free, Github and GitLab are both hosting services that have free and paid tiers
As is bitbucket.
@heavy barn are you averse to git as a whole, or github specifically?
Hello guys I created my project in gitlab and I set it as private cus other people don't see it and now I can't clone it, I remembered that 5-6 months ago when I created my previous project and i set it back again to private and I was able to clone it, hmmm
what does it say when you try to clone it
I'm trying to rollback a .uasset in Perforce/P4V and I'm getting the error Failed to rename xxx.uasset after 10 attempts: Cannot create a file when that file already exists
are you renaming it to something that already exists?
I assume so, I'm trying to revert its version back to a certain revision
Do settings I change in project settings get copied by version control? I want to make sure all team members have the same VR optimizations.
depends if they're tracked by your source control
try changing them and check in your source control GUI of choice
looks like it does, you get a message to ask you to check it out when you open it
@jaunty hornet left your UE project open?
ah yes, that might have been it
So what are you guys choosing for game jam source control? Digital ocean? Assembla? Something else?
Either use github/gitlab/ADO/etc for git or host perforce yourself (DO or any other common VPS provider is fine). There are no good cheap hosted perforce options.
Wait, isn't assembla free for the game jam? Or is it free to use on your pc⦠but doesn't privide a server?
Yeah their website claims exactly that
Sure, but what happens after the game jam?
Assembla runs a pretty expensive perforce hosting service. I genuinely don't know what happens after the jam is over and wouldn't touch assembla unless I found out (and hosting a p4 server yourself isn't that hard anyway)
Ah, they delete repos 14 days after the jam. Meh.
Well, the running plan is this: Use their services for the Jam, then host the server on my own pc if the game is to be further worked on
I think somewhere I saw a utility that can retroactively retype perforce files if I update my typemap...does anyone know where that might live?
@rugged jacinth #source-control message
@smoky trench THank you!
@smoky trench reading that script...how does it actually work? Does it enumerate each file?
oh retype can take an expression can't it...
Goes through each line in the type map and applies it to the server
I see and the //depot/.... tells it the subtree expression to apply?
correct
OK this is less mystical than I realized.
so it shouldn't go outside of the realms its been told to work within in the typemap
just says hey this existing typemap value i have set, re-apply it
so as you said can retroactively fix files
I kinda wish it just did that on its own lol
It's destructive, that is to say you can't revert the change. So i understand why
But I feel you!
In practice i've never had any issues with it
yeah, it's been a wild ride attempting to vendor the engine and what not in perforce.
Finally got it.
didn't want to have to checkin all the inflated deps/compiled binaries.
haha yeah
does retype actually update files in the server-side depot? not just locally?
I couldn't tell if all my devs need to do this typemap step
it's server-side
So not sure if anyone else gets this but I've figured out how I get all these "password expired" popups from MSVC perforce plugin. It's when my session times out, but even if I log back in using p4 login, I still need to exit MSVC and reopen my project. Again I basically get this pop up anytime I'm typing or touching any file in MSVC once my p4 session expires, and so before I knew about this I was confronted with numerous popups(20+) and they build up in the background as I touch and save files. Still not sure how to solve this without the workaround... Basically I'm on MSVC all day, 16 hrs and my password is set to expire at 12 hrs
So with Perforce I need to install the perforce tools to each desktop that will be using unreal, and then pull the initial project using that, before logging in to unreal and turning on the version control
cannot actually figure out how to pull a remote copy to a new machine using perforce π
@coarse coral is there some reason why you don't want to simply change your password expiry time?...
@frail falcon did you setup a workspace in P4V?
@woven sluice I did not want to shorten the password expiry, but I think there's no good reason to not do that just my own biases. So I set it to 20 hours expiration and that works out. Just wish they handled this in the plugin.
I think my tickets are going to expire around when joe biden's first term ends
i'm sure i'll be mighty confused when i get that popup. and then another ~6 years later...
oh geez haha...
@frail falcon did you setup a workspace in P4V?
@rugged jacinth I sorted it in the end π found a good youtube video on it
Greetings, all! I'm looking for some git guidance here.
So I have an active project in a git repo with a lot of pieces of it in their own branches. The file and branching structure kept growing and we didn't have the time to refactor/reorganize it until now.
Now I need to rename some assets and move a lot of them around to fit into a more logical and organized system inside our Content folder. How can I do this without messing up my teammates' work in all the other branches?
My initial thinking is to do the reorganization in master and have everyone else merge it into their branches. Would this be ok? Is there anything else I need to do or consider for this process to work? I really don't want to explode the repo..
Unfortunately, Unreal doesn't play nice with Git rename detection because moving assets also changes their binary content, which rehashes it in Git LFS.
I think you can explicitly mark a rename with git mv, but I am not sure how this works with the Unreal editor.
oh no.. i didn't think moving would change the file content 
Hey guys, anyone have any perforce experience that can lend me a quick hand?
Basically im a new user and I would just like to revert my depot / workspace to a changelog. But I am having trouble getting it to actually revert / delete the files in the depot that had been added.
Good morning. On getting latest in Perforce, I'm seeing this error: Gzip magic header wrong!
Does anyone know what this means and how to fix it?
Are there error messages for the trouble you are running into?
Hi all, currently using Perforce, all working very well so far, had no issues but I have a query.
Is there a way you can "Mark a folder for add" inside UE4? the only way I can seem to get this to work is to add all files inside folder, this works but very time consuming when there is a lot of files.
How would I go about this? as when I've tried to add the folder manually add "mark for add" inside P4V i had tons of errors when uploading
Recommended VCS for a team of 2-3?
Code or content?
content
Free perforce, then
you're welcome
Perforce is good if you're doing content, as it locks the assets so once one person has it checked out, the other people can't edit themn
If you're all remote, though, you'll have to figure out a way to host it
We're all remote
Is there like a free perforce server for small teams? how does it work?
Cause github is free
I don't believe there is, I'm afraid. I think there may be some free VM hosting services, and you could set your perforce server up on that
but you'd have to configure it all yourself
Okay thanks!
Good luck!
@crystal estuary you can put the server in a raspberry pi and host it yourself
there arent free vms that can run perforce around. And if they are, its a scam
another alternative is SVN
Does SVN do file locking?
Also, git theoretically does file locking, but I've never managed to get it working successfully
With hosted git solutions, you'll probably come upon git lfs limits
git lfs does locking, git itself not afaik
Sorry - yes - I meant git lfs there
svn does have locking options, although I've never used them myself either
If you're happy to lose older revisions you can keep your git lfs size down
git lfs is absolutely terrible. Github LFS is so expensive you are better renting your own servers
at PUBG we used SVN
on a multionational level
400 gb of a repo + terabytes of source assets
worked perfectly fine
in fact
faster than perforce
a lot faster
the main lack of SVN vs git and perforce is that branching sucks
very hard
but if you are an indie dev which wont really work on a branchy workflow, its the best source control
Interesting to hear. Thanks for that.
Iβve not used SVN in 15+ years, I think.
For a 90% code project, with some supporting content, Iβve found that git/git LFS works fine for me, but weβre a very small team
We use perforce for our content-heavy projects. Maybe we should look at svn for those though..
git is the absolute best for code
by a mile
but the problem is that git just cant handle binary files at all
even on LFS repos bloat super quickly and super hard
so you need something else
SVN is basic, but its a centralized server
so you can just keep throwing more TB hard drives at it
i shudder to think how fat the pubg server was
perforce does binary deltas very well. it does not bloat
git: bloats everything, gets slower by repo size massively with lfs
svn:bloats server, keeps clients light
perforce: solves both, but its a massive pain to use
the thing with LFS bloat in git is that github repo costs are huge
so you will be paying 1000+ a month in no time on LFS fees on a medium sized unreal project
a typical unreal engine repo goes into 20-100 gbs very easily
each developer is likely to do a full repo copy every week
github LFS costs 5 euros for 50 gb of bandwidth, so its easily going to cost 30-40 euros per dev per month
Thanks - that's really interesting
Do you use file locking in SVN?
I'm very interested, based on this, to look at shifting our content projects over to SVN from Perforce. Perforce is pretty expensive, and I'd love to shift to something else that offers the same flexibility. I'd want to find a nice UI for artists
I'll look into SVN too
Could it be that Perforce won't let me submit files that are not of english characters?
maybe non-unicode
Any of you use devops(tfs) as source control with visual studio ?
hey i was wondering if anyone has any experience working with several people in an unreal project over vpn. We finally managed to get into the same world and we seem to be able to make minute changes and have everything be consistent with non-host editors, but if we try to make any changes larger than wall movement, only the host editor can see it. We have github set up for all of us including the large file storage and the github desktop, we also enabled the large file storage in the GitHub CMD prompt. After doing all this it still wont accept files any larger than 100mb. This is making it almost impossible to make any actual changes together. Any help would be greatly appreciated!
[10:16 AM]
Our map size is 1.9GB an the file type is a .umap
that is with Multi user editing right?
My experience using it with my wife was not very good when i tried it about 1-2 months ago, we kept disconnecting.
Cant wait to see it working flawlessy
Damn, well thanks for the feedback. Just trying to figure out how anyone collaborates without being in the same office space. You would think they would have something ironed out, especially with Covid
You enabled LFS, but did you add umap as a file type for it?
You have to explicitly tell git what types of files to store via LFS.
Yes I added it. I entered git lfs track "*.ump" an it said that it was being tracked. So I tried to push it to Github but it came back with the error that the file is too large to push to Github
Paw and I are working on the same project, just so your not confused as to why I'm replying lol.
thanks for you help btw!
had you already committed the map before enabling LFS?
It was enabled before the map was added yes.
Can you post your .gitattributes file?
It sounds like your map wasn't committed with LFS for whatever reason. Attributes look fine, you can try having LFS rewrite the commits with this:
# dry run
git lfs migrate info --everything --include="*.umap"
# actually perform the migration
git lfs migrate import --everything --include="*.umap"
You may need to force-push after that (and anyone else may end up needing to re-clone the repo).
okay, thanks a million silliex, I'll give this a try and see what happens.
still getting this error " The push operation includes a file which exceeds GitHub's file size restriction of 100MB. Please remove the file from history and try again. "
it stops the push when I get the error.
Try and figure out what file is actually causing that
might not be the umap, could be a uasset (you could try the above commands with uasset instead)
okay will do.
For those who are willing to test out new things a short tip for source control:
We are currently using** GIT bash + Google Cloud **for source control and its incredibly well to work with. Easy Setup (5 Minutes per Artist), minimum pricing (1β¬ per seat), the fastest servers you could dream of using for source control and pay per demand kinda made me fall in love with it.
Only downside is that you have to use GIT which is a bit artist unfriendly but if you keep things well organized inside your project you are ... well that's what you should do anyway! .. pretty safe :D
Wanted to put that out there if anyone ever searches for it.
@merry verge hey this is what im getting on my end when trying to download his content
The error is as it sounds, you've hit storage quota for github
need to buy more or use another provider that gives you more space for free
is @chilly frost solution viable do you think?
Probably, I don't know anything about google's hosting.
doesn't even list if they support LFS on the product page
Azure DevOps is probably the one I'd look at, they don't have any hard limits on repo size or LFS size. And it's free.
Thanks man, you've been a huge help. we will check into that
Hi, asking for a friend who decided to work with Unreal for an animation project. Generally these project can get quite large, with lots of models + animations etc. Some of the work is going to be done on Maya. What source control program would you suggest using?
Thanks, what is the size limit of perforce?
size limit for what? repository size? None, you have to either host it yourself (so the only limit is the server's disk space) or pay assembla $$$ to host it for you.
Gotcha, thank you. I know git+LFS provide 1GB of space and monthly bandwidth
This is helpful, I appreciate it.
that's only for github, other providers have different limits (and github you can buy more)
Azure DevOps is "unlimited", though you'll probably get a notice if you use an absurd amount of space. Not sure what gitlab has.
@gloomy vessel @merry verge Yeah we also where kinda worried because of the lack of LFS in their documentation but quickly realized that they do the same as LFS to any data there - basically removing the necessity for LFS alltogether. I am sure you know the joy I felt at that point.
Perforce sadly does only work if you are a small team of max 5 ppl and it quickly becomes an issue if you have a broad team of part timers working main jobs AND on your sideproject.
at the moment it is only 3 of us, so you think it would work best?
you can cannot violate the license agreement and use shared logins for perforce to make use of it up to 20 workspaces (I'm going to keep saying this until perforce comes out with an indie-friendly pricing plan
)
but yeah, if you get a big team and/or want to work on lots of projects with one server, you may be forced to eventually bend over hard
look @woven sluice if YOU want to advertise those ideas maybe dont do it in a public space ...
also thats a great way to get your business fucked after the fact
so if you want to be professional
you dont xD
oooh you don't want to know what i do for a living 
it's ok, I pay anyone who actually deserves it. Lol. (and I hope one day to "need" to pay perforce too!
)
Well as I said in my post prior to all this - you can just go GIT and G Cloud and you are better off in my opinion. I did the talk with them and the per seat pricing ... no. Just no.
it's hard for me to believe how limited we still are for VCS's. and hard to believe Perforce just ignores the indie market like they do 
How about SVN? @noble knoll spoke yesterday that they use SVN at PUBG.
not just at PUBG
SVN is way more used at serious productions (not indies) than git is
big game development never uses git cause of the headache with binary files
literally all studios that I've seen talks of at unrealfest were using perforce
Sure - wasnβt saying it was just you - just that you had explained very well the pros and cons.
in asia they use SVN a lot
basically all korean/japan/china games are on svn
not sure if nintendo uses it, probably
i do know that its completely widespread on korea companies
After our conversation yesterday, I've put it on my list of things to look into before our current Perforce licenses expire in October next year. We do multiple small projects, so it's not like we have a big codebase that we'd want to transfer over - we could start newer projects on SVN while keeping on-going ones on Perforce
Hi, whats the workflow for perforce when I first open UE to sync any changes other team members might have made over the previous day?
I thought it might be right click > sync the root folder in the content browser but this takes ages, there must be a better way?
ok so before opening UE you need to check for any changes that may have been made
yes
I always open P4V first and put it on the second monitor where it remains open all day
Ok thanks that works but for some reason it thinks the project was built using a different engine version, it was not they both built from source yesterday....
I was not distributing the engine with source control but might do that too.....
I am currently on revision 8 after testing different things to figure out perforce, I now want to roll back to revision 6,
I know I can right click revision 6 and get the revision which will make all my local files the same as revision 6.
How do I remove revision 7 and 8 and make revision 6 the "latest"?
Anyone?
project binaries are not compatible between different custom engine builds. either everyone builds everything, or you set up the full stack with UGS
to revert the file just right click revision 7 in the history, select "undo changes", and then select the option to revert the selected and all following versions
will that also overwrite any changes made in revision 8
yes
I will give it a go thanks
I just started using perforce with UE4 and is there a way to have UE4 Source Control feature 'respect' my p4ignore file? It seems to keep trying to add files that are stated to be ignored and keeps throwing this message:
@dusk dove Just trying this now, I do not see an option "select the option to revert the select and all following versions"
Oh it sent me there after the previous screen
p4 undo -c 11 //depot/Content/AVRFramework/Experiences/Demospace/Maps/Streaming/...@5
p4 submit --parallel=0 -f submitunchanged -i
1 error reported
Out of date files must be resolved or reverted.
Submit failed -- fix problems above then use 'p4 submit -c 11'.
Just in case you weren't already aware, the way you revert in any VCS is basically to create a new change with the old revision's data in it. You can't just literally "erase and go back" like you might think if you're new. The undo command helps set up a new change list like this
@frail falcon
well, in git you could revert to the old sha and force push to get rid of all later changes
ok I think I understand
Hi guys! I'm looking to learn from others' first hand experience with Plastic SCM. I have not found enough on the internet to convince a 15 ppl team to migrate to it. How stable/streamlined is its integration with UE4 to date? Is Glueon really that good for Artists? How does it fare when used on 100GB+ project? Has anyone setup an on-premise server? Has it required lots of maintenance or has it been ok on its own for the most part? How friendly has it been to CI/CD and the likes of Jenkins?
Everything I find is about Helix Core... is that because Plastic is not that good on UE4? Or simply not enough people have tried it yet
The reason you see helix core (perforce) everywhere is that it's been around for decades and is industry standard - no one has really managed to unseat perforce, especially for large teams. The problem is their pricing is shit for indies (hope you have multiple-thousands to spend per year if you have more than 5 users... or use assembla for cloud hosting which still isn't cheap)
Plastic seems to support everything you'd want from perforce (with the nicety of gluon) but I don't think many people have experience with it. Not entirely sure why, it's been around for a while (though not as long as perforce). One thing to note is they've recently been acquired by unity, though they said they're operating the same and won't pull support for other engines - take that as you will.
Their featureset looks to be pretty great, supports everything good about perforce and it seems to have some niceties from git as well if you need them. Can't speak for how well it actually works though.
Yeah, that's were I've gotten to. On paper Plastic is the Holy Grail of VCS. But I can't find enough about it on practice, which makes me wonder if that's due to not matching expectations for the people who have tried it
A lil' bit of "too good to be true" vibes happening right now
Might be worth just trying it for 1-2 users and seeing what it's like. Unfortunately your alternative for 15 people is generally going with worse tools (git, svn) or lots more $$$ (perforce)
Thanks @merry verge . Appreciate your replies β€οΈ If anyone else currently uses Plastic SCM I'd love to know about your own experience with it!
Does UE support Plastic out of the box?
No, plastic themselves have a plugin for it
Cool
Does plastic support file locking? Iβm looking at their feature list and canβt see anything about that
@merry verge
yes
This document shows how to configure and administrate Plastic SCM version control
Awesome - thanks for that
Hi, we are currently our perforce server on our "server" machine and connecting to that. Do you guys know if I can do that with plastic, and what's the free user limit that way?
They say you can, and provide some barebones guide to do so. They charge the per seat fee but no cloud hosting fees. It's cheaper than P4. Free user limit is always 3
I'm gonna keep you guys updated if I find anything of interest, but I think I'll end up doing what was already suggested and just try it by myself and another 2 devs and see how it goes
gl, definitely interested in hearing how it turns out. I've thought about trying it but never made the jump because perforce works just fine for personal stuff, and I don't have to think about the $$$ for work stuff.
@open bone has been using plastic for awhile! Got any thoughts on it vs p4?
hi
yeah, i like it way more than p4
you can treat it as a server/client system (we do internally)
it's very flexible
I like how good it is at branching, although UE4 doesn't support branching assets very much at all
Very cool - good to hear from someone who has actually been using it.
Itβs a shame that UE doesnβt have the ability to merge blueprints - that would be a game changer
I do a lot of straight code, which I use git for. Looking for an alternative to p4 for our content-based projects
the nice thing about plastic is that it acts like git with code, and p4 with content
so you can put both in hte same repo
Cool. Sounds interesting. Iβll have to see what kind of integration it has with JIRA
i dont use jira internally, so i wouldn't know
Im JIRA/bitbucket most of the time for my code stuff.
it has a pretty scriptable system, so you can extend it
i wrote a 'post to discord' post-commit hook
wasn't too bad
Iβm fine to stick with my workflow, but itβs everyone whose on perforce who I want to shift
Interesting
Iβve got a release script that does things like getting issue descriptions from Jira to build a changelog
pull
Someone... Please... Been Bashing my head on this for 3 hours...
I'm using a Mac, using GitLab set-up by my Friend, and I'm trying to push , but the following error came.
the remote contains work you do not have locally means there's some changes on the repo that are not represented in your local checkout
so you need to do a git pull first
yes
Yes did it
And then again I wrote git push -u origin master
And the same error
Exact same error
and what if you just type git push
what about a git branch -u origin/master
or something like that
the / might have to be a space isntead
I did
Nothing happened
(9r it didn't show anything happened)
This One is Important I think
It has something to do with branch name
do that last command
Which one
the git branch...
Fatal: Refusing to Merge unrelated histories
so did you like create a local master branch after one already existed on the remote
Yes...
Yagneshs-iMac:annihilated yagneshsuthar$ git pull origin master
warning: Pulling without specifying how to reconcile divergent branches is
discouraged. You can squelch this message by running one of the following
commands sometime before your next pull:
git config pull.rebase false # merge (the default strategy)
git config pull.rebase true # rebase
git config pull.ff only # fast-forward only
You can replace "git config" with "git config --global" to set a default
preference for all repositories. You can also pass --rebase, --no-rebase,
or --ff-only on the command line to override the configured default per
invocation.
warning: redirecting to http://gitlab.purplethings.co.uk/Pedgey/anihilated.git/
From http://gitlab.purplethings.co.uk/Pedgey/anihilated
- branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
Yagneshs-iMac:annihilated yagneshsuthar$ git fetch
warning: redirecting to http://gitlab.purplethings.co.uk/Pedgey/anihilated.git/
Hey guys! Have you released the EU4.26 source code for download in GitHub?
This discord is not an official epic discord channel
but you can always get the latest code of any version on github
Can you send the link?
follow this to get access to the source code https://www.unrealengine.com/en-US/ue4-on-github
Thanks man!
I'm curious about this sentence. If Plastic SCM is really good at branching, but UE4 is not, then that means that you only branch for code-only tasks? What's the "Risk" of branching to do Content changes?
The risk is that if the content is changed on both branches, you can't then merge it, and you'll have to pick which side to use
UE4 supports branching fine - what it doesn't support is merging assets, and without merging, branching is (mostly) pointless
Oh ok, so the main issue is locking looses its value if locks are not shared across branches, and that is the case
yup
And there's no way to share locks across branches?
https://forum.plasticscm.com/topic/21509-preventing-locking-across-branches-forking/
Here some guy is complaining about the fact that Locks ARE shared across branches, so that wouldn't be an issue. In fact, perfect for our workflow
Hi We are currently working on a project in UE4 using Plastic as our main (and only) source control solution. Since files from Unreal Engine cannot be merged, we are using exclusive checkouts most files. It happens quite often that we want to test some features or create a slightly divergent vers...
I don't see how locking across branches is at all useful. If I modify a file on branch A and then check in, the file is no longer locked and I can still make a change on branch B afterwards - locking doesn't help at all except to make it annoying to work on different branches.
The only way it'd help is if making a change in one branch locked out other branches until they integrated changes, but that workflow isn't good either.
But if the branch is merged back (and therefore the modified files checked-in) that's the perfect moment to allow ppl in other branches to pull master into their branch and start working on the now free file
I don't think Plastic will let you checkout a file that you don't have up to date
But that's a good question. Maybe it does allow you to lock something that is not up to date, and then the problem you mention would be really bad
Not being up to date is irrelevant - when you branch, the new branch can lag behind master (or jump ahead of master) and still have files edited. That's the whole point of branching. If you're not using that, why even branch your content?
Locking across branches breaks so many things about branching. What if you need to make a fix in a release branch only? Are you really going to lock out all other branches from that file because you need to make a fix in a single branch? What if the content you're fixing is tied to a code change but you're not ready to integrate both back to master? Are you going to prevent all artist work outside of your unstable branch?
The better way to do it is to fix your workflows. Content/binaries don't branch well, period - nothing you do will change that unless someone comes up with a good merge tool. Ideally you make all content fixes in master (and then integrate into whatever branch you need the fix in) except in the case of branches that will never integrate back (i.e. release-specific fixes). Then you only need single-branch locks and don't need to worry about other branches.
I know that workflow isn't always realistic, but the alternatives aren't any better imo.
Well, I know our team and our needs, and I can ensure you that having 7 artists working on master (full binary), 2 tech-arts (~80 binary/20 code), and 5 developers (80 code, 20 binary), I do see global locks useful.
99% of the time locks by artists and tech art will be on master, and me as a dev will love to be notified that tech-art is using the one/two binary files I needed to tweak to fully integrate my new code that I was developing on a branch, so I don't do work that's gonna be discarded when resolving merge-conflicts
The release branch scenario is bad though, and I don't like the release repo workaround, but it's not a dealbreaker for us
Hmm... I can see the utility for locking from master -> other branches (provided those aren't release branches). The reverse seems dangerous, though, and ofc the release branch scenario makes no sense.
Honestly I wonder if p4's strict branch typing would be useful here. You create branches specifically as being "development", "release", "task", etc and it changes how you're supposed to integrate between them.
Yeah.... I'd be huge if they allow teams to tweak lock "shareability" to meet their needs (as suggested in the forum post). We'll see
The good news for me is that I have enough data to at least convince management to go on the 30-day trial. I'll be more than happy to share the experiment results here in the future
Btw, this series of articles by Samuel Kahn were godsend for me. Check them out if you're looking to choose/change version control. https://kahncode.com/category/source-control-comparison/
hi
i did the right tutorial with github
now i had to do setup at windows batch
after 45 procent the command prompt stopped and now i cant do anything anymore
it says checking dependencies and do nothing
help xD
Hey guys, I know this one of the dummest issues with p4v and ue4, but when I try to connect to my workspace, ue doesn't see any in the available ones
the same Project that I got by pulling it from the server
So, one day its connected to source control, the other it fails, why..?
Souce control: failed to connect to source control
Then either the details are wrong, your Source Control server isnt active or (least likely) the Firewall is blocking it.
server's up, its a digital ocean server, and the status shows green, and it looks active (bandwith going in and out and such)
Cant be firewall, because then It wouldn't have worked yesterday
Okay, so it was the details. Its crazy how many times i looked at them, and only now realized there are columns instead of dots between the ip numbers
thanks.. for making me look again! π
But this is still weird.. Why would it change the dots to columns? That makes no sense
rebase?
@queen mulch
rebase master into ur branch
you can still do the merge ...but I think rebase is what you want
Compare git rebase with the related git merge command and identify all of the potential opportunities to incorporate rebasing into the typical Git workflow
This one's good explanation
I still use the git desktop app btw, I just like my UI
Anyone know why the source control plugin in UE sometimes doesn't check out assets(actually a lot of times for me, like 30% of the time it doesn't). I have to use "reconcile offline work" and it almost always finds uassets that were modified but not checked out?
Is there any point in committing .log files? They fill up my changes whenever I do anything very trivial and I am thinking of tossing that file type into my .gitignore
Also wondering about .ini files
Let me know if you have any idea please, thanks! π
Ok thanks, I had no clue
Is there anything else that shouldn't be shared amongst project members that would normally be included by putting the project location inside the local repo?
I saw someone online recommended Intermediate, .log, and .bin files
I used a generated .gitignore so I am surprised it did not already have those
Thanks lol, never using gitignore.io again
π
wait
this is the one I already have ποΈ π ποΈ they are identical
but git was still recognizing changes in .log files which I assume the only ones are under Saved
yeah its the log file under Saved... whut
I think my local stuff is just bugging out cause it doesn't even recognize that I have write permissions in my organization, this is strange
well then. time to focus on why your gitignore isn't working :[
If a file is already tracked by git and is then added to .gitignore it wonβt be ignored. This only works for untracked files
So if you added those .log files before setting up your .gitignore, then thatβll be your issue here
welp so that will also be an issue but I found the solution to that
the main problem is that I had the gitignore one file up from the subdirectory it was referencing files in
I will just edit in /[project name]/Saved*, etc and hopefully that will work once I push to remove with the naughty files cached
Sounds good
with perforce if a team member has checked out the project no one else can open it until its checked in, how do multiple people work on a project?
Only check out the files you're using planning on changing
Don't check out the whole project
You can set UE to check out an asset as soon as you make any change
Or if there are a bunch of blueprints that all work together that you're working on, check them all out
does anyone have a link to a full multiuser workflow? all the YouTube videos I have been able to find are just setting up the project and committing changes, no examples of multiple people having to work concurrently.
there's no difference? everyone just does... that
perhaps the info you're missing is that you simply can't have two people working on one blueprint or one level file at the same time @frail falcon ?
and I guess you have to "get latest" or "pull" other peoples' work
and there are also some complications with binaries/DLL files if you have artists on the team but it sounds like you're not quite at that problem stage yet
there's actually also multi user editing for maps if you're on the same LAN
Thatβs not a source control thing
That means that the UBT command had the ide specified directly rather than doing it through the editor settings
It may be because you put -2019 in there - is that to specify VS2019?
Oh yes - from the yellow text it is
To be honest, the yellow thing is pretty self-explanatory
okay thanks π
also i got this and my editor stays at 39 procent is there any solution for this ?
i did everything like this tutorial
https://www.youtube.com/watch?v=tOy0xYaP3wA&t=11s
This video is the first part of an extensive and informative tutorial on how to integrate Amazon GameLift with Unreal Engine, going over concepts such as GameLift architecture, how to build Unreal Engine Source on Windows 10 using Visual Studio 2019, and making a new C++ project in Unreal Engine Source. In the process, we also go over other thin...
im at 18:49
after i restart the computer it stops at 45 procent, its like hey how many times i have to restart the computer
How long have you actually waited?
It's likely compiling shaders, leave it alone for a while.
depending on your pc setup it might take quite some time yeah, the first time needs to do all the editor content
I am getting this in source tree when I try to push my project to the remote repo for the first time:
Uploading LFS objects: 100% (4/4), 1.3 GB | 0 B/s, done.
POST git-receive-pack (chunked)
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly
Everything up-to-date
Completed with errors, see above.
have you tried pushing again a few times?
several times
in sourcetree it uses a specific LFS media filter, try turning that off in the options maybe
idk where it is exactly anymore
hmmm
Lfs media adapter is the term I think
are you using http or ssh?
oh maybe, idk about that
Anyone used Plastic SCM before? I just created a cloud account but it always fails to connect to server when I try to create a repo
where you able to solve this? If not I can help you, I'm a bit of a git power user
can you change the selected data center to a closer one to your location? Idk if that's a possibility in Plastic Cloud. Though 3 seconds just to connect is too much, maybe you have some permission/firewall type of issues?
There are 3 server locations on SCM and I am using closest one, prorably about firewall, let me check it out
Looks like firewall is not blocking it, I am also running plastic as administrator
tag me directly if you have any further issues. I've probably already gone through them
some permission missconfig on the cloud account? I've never used plastic yet, so I don't have much else to help
Dont worry, thanks a lot anyway. Only suspicion I have at the moment is my ports, because I've followed the guide on the Plastic website and did everything 1:1, either Plastic servers is down or I have a networking issue π
https://forum.plasticscm.com/topic/22536-error-cant-connect-to-useast-cloud-server/
Check that out, might be of help
Thank you!
I am getting this error when trying to push to github.
Enumerating objects: 17410, done.
Counting objects: 100% (17410/17410), done.
Delta compression using up to 8 threads
Compressing objects: 100% (15791/15791), done.
error: RPC failed; curl 55 Send failure: Connection was aborted
fatal: the remote end hung up unexpectedly
Writing objects: 100% (17410/17410), 4.79 GiB | 69.98 MiB/s, done.
Total 17410 (delta 1548), reused 17394 (delta 1533), pack-reused 0
fatal: the remote end hung up unexpectedly
Everything up-to-date
This is when I try to push the entire project, I marked .zip, .uasset, .umap for lfs
Does anyone know why Perforce isn't requiring me to check things out? Whenever I edit something in the editor, it pops up saying "File needs to be checked out" so I click the "check out" option on the pop up but it never checks the file out.
Nothing requires checking out. None of my assets nor scripts. It just allows me to edit and save freely but will never make a revision unless I manually checkout the file.
tough based on what you described but you might have Allwrite enabled in advanced workspace options @dry vapor
I was hoping that was it but it's not. These are the settings in advanced workspace options:
ok, so describe more what you mean by "but it never checks the file out" - if you click "check out" in UE and then open P4V, it hasn't been added to the default changelist?
Correct.
Before, it would pop up this dialog box whenever I would save an asset (this exact picture is from my project but it's the same dialog box):
Sometimes when editing something, such as a BP, I'll get this pop up in the bottom right (this is the pop up I was talking about specifically in my original post). and when I click 'Check-Out' nothing happens.
- One of my assets, an animation blueprint, now prompts the checkout dialog box (even though I didn't change anything to Perforce), and 2) I'm not sure if this log is related to the issue?:
hey guys does anyone know a guide on setting up a perforce server on a linux machine ? i have attemted to get it done a couple of times but no luck
There's a section on this guy's site covering that iirc: https://allarsblog.com/
If there isn't one there, perforce should have something covering that on their site.
follow the official guide for package based installation
@dusk dove I'm afraid i have already tried that
well where did it go wrong?
i am using git source control
and every single time the engine is crashing because of a umap and its build data. I have to go and re-do some work, then when i try to save it it tells me to save the .umap and built data. So i do, then i push my fixes to git. if i close the project and re open it, it will crash on startup
Anyone have experience with setting up perforce? I have an ubuntu server which I would like to host it on. But can't seem to work out how to.
read perforce's documentation on installing from a package: https://www.perforce.com/manuals/p4sag/Content/P4SAG/install.linux.packages.install.html
I read https://docs.unrealengine.com/en-US/Programming/UnrealArchitecture/StringHandling/CharacterEncoding/index.html, but I was still hoping for a bit of clarification. Is the preferred file encoding for UE4 Source Code in Perforce UTF-16 like the rest of engine's text I/O, or something else? I don't care so much about versioned file size but do care about the best compatibility with other languages
@forest shale: https://www.perforce.com/perforce/doc.current/manuals/p4sag/Content/P4SAG/Home-p4sag.html
This manual provides information on Helix Core server installation, backup, recovery, tuning, and triggers (version 2020.2, released in November 2020).
There are package based and non-package based installations for Ubuntu. I would recommend the package based approach if you don't have specific business needs and/or it's your first time.
The basic overview is: 1) setup Ubuntu 2) verify pubkey and download/install p4 package with apt, 3) run the p4d helix config (default /opt/perforce/sbin/configure-helix-p4d.sh to interactively set the parameters for your server instance, 4) connect to p4d using p4 and accept the fingerprint (if using SSL)
There are a lot more complicated intermediate steps, especially if you want to have a robust, production ready installation.
Hello, just a quick question what is better, GitHub or Perforce?
It depends on how you want to use it
Is your project mainly code, mainly content, or a mix?
mainly content (blueprints etc.)
Then Perforce is a better option for you
You could also look at SVN and PlasticSCM
Git (GitHub is just a website that offers a cloud git service - there are a few git options around) is great for code, but not good with larger binary files
alright, thank you very much man!
you're welcome
Is anyone familiar with how I'm suppose to move files around in the content browser when using Perforce as my VCS? I moved a blueprint to another folder and this is the result:
The top one being in Content/Blueprint is the location I moved it too. The bottom one in Content/ThirdPersonCPP/Blueprints is where it originally was. Perforce, along with File Explorer show it being in both places but inside the editor there is nothing at Content/ThirdPersconCPP/Blueprints.
That's because it'll be a redirector in Content/ThirdPersonCPP/Blueprints
In the Content browser, under Filter, you can enable "Show Redirectors"
This is there so that any other BP referencing this one doesn't have to be changed.
If you right-click on the folder on the left side, and select "Fix Up Redirectors", it'll remove this, and you'll also find that any other asset referencing it will have changed
Oh. That makes sense.
π
In regards to just using Perforce, is it a bit 'overboard' to use it for just a solo dev project? I started using it because Epic mentioned on their educational livestreams that it was much more common in the industry so I wanted to get a little bit of experience with it but I've just been running into headache after headache. For just working by myself, Git felt more appropriate. But I also might just misusing Perforce π€·ββοΈ
If you've got a lot of .uassets, then git will get very unwieldy very quickly
Hmm. My project is mainly cpp but the amount of .uassets would build up quickly I suppose.
I'm certain at this point that I messed something up somewhere. I was having issues where I couldn't build my cpp files, then having an issue where UE4 wouldn't check anything out even though I had set up the Source Control in engine (it did work for a while then just stopped checking anything out entirely.) It also wouldn't respect the p4ignore if that makes sense. It would keep trying to save assets that are specified in the p4ignore to be ignored which keeps leading to an annoying error popup. I just don't know where I went wrong ;-;
Thanks for the help and information though π
When i try to save modifications to an asset i get a dialog 'Check Out Assets' with the options 'Check Out Selected' or 'Make Writable'. What does it mean and what should i choose?
(SVN)
Ok, so i guess "check out" means "lock" in unreal? usual version control "check out" means create a working copy, but in this case it already is checked out
"Make Writable" means "I don't want the source control system to do anything, but I want to make this file not read-only any more"
ah - yeah - "Check Out" is Perforce terminology
I would never use "Make Writable" unless I can't access the server and need to change something
how do I connect with someone's perforce
it's pissing me off
okay, I figured this out
but this thing is showing now ;/
cloning to the local server wtf
how did you fix the first error, that might give clues as to why you're getting the second error. have never seen it before but it almost sounds like you're running a local p4d server and connecting to it, and you're trying to simultaneously use/pull work from a remote server or something
The solution to the first error should have just been to create a new workspace...
Sounds like they initialized a local instance of p4d instead.
@vapid kettle 
@woven sluice I already fixed it

had to search through docs and shit for 2 hours
but thanks for response anyway π

guys what the fuck is going on
I'm cloning perforce data for like 3 hours
and it only got 400 MB
is it someone's server running at home with poor upload? Β―_(γ)_/Β―
weird. it does run single-threaded normally (one file at a time) so if the workspace contains several thousand tiny files it will go slower than if it contains a hundred big files. but that still sounds oddly slow
I have a perforce CLI question that is quite noobish.
I am trying to perform a p4 copy in a batch script, with a branch mapping.
this is my batch script so far
p4 login [user]
p4 -c [workspace_name] sync
p4 copy -b [branch_mapping]
p4 submit -f submitunchanged
however it fails on line 3, saying that No target file(s) in both client and branch view.
That workspace I change to is the target of the branch mapping.
I just can't see what im doing wrong at this stage and it has driven me up the wall a little.
also, huge fan of branch mappings being called branch views in the documentation most of the time
I've also tried having p4 change between lines 2 and 3 but no dice
probably using change wrong tho
@quick slate before you get too far i might just ask: are you confident in your reasons for wanting to use branching? are you comfortable with the fact that you cannot work on anything in unreal in two branches at the same time and merge it back together?
or wait, is this to duplicate stuff between depots
@woven sluice its to merge a plugin from its development location to a project implementing it. Entirely uni-directional, hence the copy rather than marge.
Ah ok. Are you using classic or stream depots?
stream depot