Git help - branches with no commits?
-
They seem to have fixed this: https://libgit2.github.com/
Blah blah blah, we've talked about that before.
That isn't from Git. That's from some third-party developers who got pissed that Git is developed by incompetents. It doesn't track Git exactly because it's not from the same team. It "mostly" works.
Moronically, Git's project is actually structured so that the API bits are separated from the CLI bits, but they don't bother to build or distribute it that way. They just build a single broken shitty app.
-
Blah blah blah, we've talked about that before.
We have? I missed it.
That isn't from Git. That's from some third-party developers who got pissed that Git is developed by incompetents.
That's the beauty of open source development! Git doesn't belong to Linus and his team. If the original team decides to be dicks, others can take over and tell the dicks to screw themselves.It doesn't track Git exactly because it's not from the same team. It "mostly" works.
The original mostly doesn't, so it's an improvement!
-
TFS doesn't. Not any I'm aware of.
Working offline?Except with source control, you can't. You have to use it as a condition of employment. Usually the decision to use it was made before you even started working there.
Except with source control, you can't. You have to use it as a condition of employment. Usually the decision to use it was made before you even started working there.
There's at least one person in every company that can. They think Git is good, so they ordered everyone to use Git. If you think it hinders the work, propose to switch to something else. Like we did with SVN after everyone got fed up with its fucktardness. Our complaint had to get through three layers of management and cross many country borders, but finally we ditched it.That, or get your shit together and just deal with it.
People should love computers.
Why? Computers are just stupid machines. The only reason they exist is to get the work done. Work is boring. No one loves work, and no one should.That was my use-case, idiot. The only catch is that Skyrim mods have to live in Skyrim's folder tree.
OK, I wasn't precise enough - versioning source of an entire project that's located in its own directory. Also, IIRC, you were trying to do something more fancy than just keep your code in repo. I think it included keeping non-text files and checking out only some of the mods in repo at once. As if you specifically chose a case where Git would suck just to show that Git sucks.Yeah, well, you're wrong.
How can you know whether I'm right or wrong if you don't even know what I'm talking about?Has zero to do with the user experience.
No, four days of getting the SVN repository back into shape during which the whole division couldn't commit a single line of code (not to mention delivering critical fixes that had to be done yesterday) hasn't affected our work at all.I proposed two other alternatives.
Yes, and I replied to them separately. Gosh, learn to read already.
-
Working offline?
Supported that since 2013.
BUT THANKS FOR ASSUMING I'M A LIAR, ASSHOLE.
Why?
Because I make a lot of money creating computer software.
Computers are just stupid machines.
Some machines are a pleasure to use, and some are a chore.
The only reason they exist is to get the work done.
Blatantly false.
Work is boring.
Boring doesn't bother me; frustrating does. If Git were merely boring, I'd not be complaining about it.
OK, I wasn't precise enough - versioning source of an entire project that's located in its own directory.
Right; but that means that Git was designed by dumb incompetent morons who did absolutely zero research or investigation into how source control tools are used. Because Git doesn't meet that need. And there are companies where thousands of employees have that exact need.
Also, IIRC, you were trying to do something more fancy than just keep your code in repo.
No. I was not.
I think it included keeping non-text files and checking out only some of the mods in repo at once.
Most Skyrim mods are composed of non-text files. They're MODS. They're not source code. (There's is a script language, Papyrus, that can optionally read scripts from text files, but there's no requirement that the scripts be in separate files.)
The "checking out only some of the mods at once" is pure fiction. Where the fuck did you get that from?
As if you specifically chose a case where Git would suck just to show that Git sucks.
I chose a case where I needed the services of a source control tool. Then I tried using Git to meet those needs. It failed. Utterly.
No, four days of getting the SVN repository back into shape during which the whole division couldn't commit a single line of code (not to mention delivering critical fixes that had to be done yesterday) hasn't affected our work at all.
My argument: Git is bad software.
The quality of Subversion: utterly irrelevant to that argument.
-
2) Git is fundamentally broken and unusable by any means and nothing could possibly change it except for scrapping everything and having a completely fresh start.
This. If it had any form of interaction other than its horribly broken UI, you might have 1/4 of a point. You can't. You don't. The best you have is some guys trying to chase after a constantly changing spec.
-
Supported that since 2013.
AFAIK you can't switch branches or see history. Not to mention commits.Because I make a lot of money creating computer software.
If your spouse was a drug dealer, would you want everyone to love cocaine?Blatantly false.
Computers get the work done. Whether the work it does is because you need something for your own work, or for your own amusement, is irrelevant - all that computers do is work. Work is boring. Computers are boring. Video games are cool, though.Right; but that means that Git was designed by dumb incompetent morons who did absolutely zero research or investigation into how source control tools are used. Because Git doesn't meet that need. And there are companies where thousands of employees have that exact need.
I didn't know there are thousands-employee-companies that make Skyrim mods.Most Skyrim mods are composed of non-text files. They're MODS. They're not source code.
See? You didn't use Git for its main purpose after all!The "checking out only some of the mods at once" is pure fiction. Where the fuck did you get that from?
I vaguely remember there was something about base Skyrim files blocking you in some way. I don't remember details either. But I had a gut feeling it was about checking out only some of the files in repo. I might've been wrong. Did I write "I think" there or not?... Yep, yes I did.I chose a case where I needed the services of a source control tool. Then I tried using Git to meet those needs. It failed. Utterly.
And I don't blame you here for anything. It's entirely Git's fault. Still, it doesn't mean Git is completely unusable for all other purposes. It might be usable elsewhere, or it might be unusable - but that it didn't work here isn't any proof of working or not working there.My argument: Git is bad software.
Sub-sub-sub-sub-subtopic we both picked up (among others): whether data model is implementation detail or not.The quality of Subversion: utterly irrelevant to that argument.
But it's relevant to that sub-sub-sub-sub-subtopic we both picked up. Also, it shows Git is at least better than SVN in at least one way.
-
If it had any form of interaction other than its horribly broken UI, you might have 1/4 of a point.
Whether you can only interact with Git via its CLI is completely irrelevant to whether fixing UI code is enough to make it good.The best you have is some guys trying to chase after a constantly changing spec.
FWIW, its interface was pretty stable, with little breaking changes (except for 1.8 release).
-
AFAIK you can't switch branches or see history. Not to mention commits.
Huh? WTF?
Yes, TFS lets you switch branches and see history.
And it "mentions commits"? I guess? I have no idea what you're saying, it's gibberish.
If your spouse was a drug dealer, would you want everyone to love cocaine?
Yeah, probably.
Computers get the work done.
Right; but you said that was their sole purpose, which is untrue.
I didn't know there are thousands-employee-companies that make Skyrim mods.
The obvious example would be Bethesda.
See? You didn't use Git for its main purpose after all!
Version control of a development project?
I'm sorry, what is it for? Oiling circus side-show merry-go-rounds?
FWIW, its interface was pretty stable, with little breaking changes (except for 1.8 release).
When the product SUCKS the fact that it doesn't change often IS A BAD THING not a good thing. You idiot.
-
Huh? WTF?
Yes, TFS lets you switch branches and see history.
Offline?And it "mentions commits"? I guess? I have no idea what you're saying, it's gibberish.
Note to self: Blakey doesn't know the meaning of phrase "not to mention".The obvious example would be Bethesda.
Suuuure, the entirety of Bethesda's work is made with Creation Kit, including Creation Kit itself!Version control of a development project?
Version control of source code.When the product SUCKS the fact that it doesn't change often IS A BAD THING not a good thing. You idiot.
I wasn't arguing that it doesn't suck. I was arguing that it's stable. In no way I considered whether it should change or not - because it's irrelevant to discussion on the subject of whether it changes or not.
-
Offline?
I believe so, but I don't have a copy handy at the moment. The last company I worked at that used TFS was way behind on their version, alas.
Suuuure, the entirety of Bethesda's work is made with Creation Kit, including Creation Kit itself!
No; Creation Kit is in C++.
But the vast majority of Bethesda's work is creating game content, and yes that is made with Creation Kit.
Version control of source code.
In Skyrim mod development, .esp files are source code. They're not text files, though.
-
but that means that Git was designed by dumb incompetent morons who did absolutely zero research or investigation into how source control tools are used. Because Git doesn't meet that need. And there are companies where thousands of employees have that exact need.
No, they designed Git to fill their need : manage Linux's kernel development. Why the fuck would they care about the need of a dumb user who repeatedly told everyone that he refuses to learn how to use the tool to do the job he was hired for ?
They never wanted you to use it. They don't care about you, they don't force anybody to use it.
It doesn't fit your need ? Fine, you are entitled to 100% refund of the price you paid.
-
No; Creation Kit is in C++.
And Git handles C++ just fine.But the vast majority of Bethesda's work is creating game content, and yes that is made with Creation Kit.
So they shouldn't use Git for keeping this, because Git sucks at it.In Skyrim mod development, .esp files are source code. They're not text files, though.
Source code is by definition text. If it's not text, it cannot be source code. It might be source file, or source material, or source asset, but it can't be source code.
-
No, they designed Git to fill their need : manage Linux's kernel development.
Right; but is it good at that? I doubt it is.
Why the fuck would they care about the need of a dumb user who repeatedly told everyone that he refuses to learn how to use the tool to do the job he was hired for ?
You wound me, sir.
They never wanted you to use it.
I don't want to use it, either.
They don't care about you,
They don't care about any of their users. If they did, it would be more usable. That's the very complaint I've been making since day one.
they don't force anybody to use it.
They don't, but unless they're fucking stupid as a rock, they understand other people do. (For various definitions of "force".) And they should cope with that reality.
-
So they shouldn't use Git for keeping this, because Git sucks at it.
Duh. Git sucks at everything.
Source code is by definition text.
No it's not. It could be a HyperCard stack in developer mode. Hell, even "hardcore" C# projects have .dlls in them, those are part of the source code and not text.
If it's not text, it cannot be source code. It might be source file, or source material, or source asset, but it can't be source code.
Oh, this is just pedantic dickweedery. I thought you might have been building to some kind of point, stupid me.
-
If it's not text, it cannot be source code.
Wait, so code can only be text? A series of ones and zeroes is not a code? Sorry, you're saying insane things again, I'm having a hard time keeping up.
-
@TimeBandit said:
No, they designed Git to fill their need : manage Linux's kernel development.
Right; but is it good at that? I doubt it is.
The requirements for that apparently were the following:- Able to merge a patch within 3 seconds into the Linux kernel repository
- Be radically different from CVS
- Distributed
- Strong protection against repository corruption
Does it not do any of those things?
They don't, but unless they're fucking stupid as a rock, they understand other people *do*. (For various definitions of "force".) And they should cope with that reality.
That's just nonsense.
-
Right; but is it good at that? I doubt it is.
They've been successfully using it for 11 years now, during which they released 53 kernel versions. Seems like they're doing alright - or at least decent enough to not switch for anything else for the last 11 years.They don't care about any of their users.
Git developers use Git. I'm sure they at least care about themselves. Which already gives you 500 happy customers (looking at commit authors count).Hell, even "hardcore" C# projects have .dlls in them, those are part of the source code and not text.
DLL libraries are compiled, so it's by definition not source.Wait, so code can only be text? A series of ones and zeroes is not a code?
Wikipedia says it's not, so...Keyword: "human-readable".
-
Then it sure is a good thing that these products are all called 'Source Code Control' and not something generic like 'Version Control' or 'Source Control' I guess. Oh wait...
-
You could stop spamming up the thread when I already changed the category to General.
If it's in General, it's fair game for spamming at that point, isn't it?
You must really like me a lot to ignore those two fighting for 150 posts only to complain when I enter the thread. Stalker.
-
Then it sure is a good thing that these products are all called 'Source Code Control' and not something generic like 'Version Control' or 'Source Control' I guess.
Yes indeed.
source code management system for software development
-
DLL libraries are compiled, so it's by definition not source.
But not necessarily BY ME. Nor do I necessarily have access to the source code that was used to compile them.
But they are still part of MY project's source code.
Keyword: "human-readable".
That doesn't imply text files. The Papyrus scripts embedded in those Skyrim .esp files are human-readable.
-
But not necessarily BY ME. Nor do I necessarily have access to the source code that was used to compile them.
But they are still part of MY project's source code.
No, they're part of your project's dependencies. There is a difference.
-
Meh. Not the same thing. Especially since Git does have something called a "stash" (which is explicitly NOT a branch), it just doesn't happen to be stored on the server. You can "kind of" use a branch as a stash, but it's definitely not the same thing as a stash.
Actually, a Git Stash is a branch, it is just in a namespace that prevents it from being pushed. It's tracked in the same way the reflog is. If you want, you can:
git push origin stash@{0}:branches/myuser/this_stash_description
When you do a git stash, it stores the state of the current working copy as a commit, with a commit message of "stash" and appends the hash of that commit to the stash log. It then backs out the changes you asked it to stash. When you pop/apply the stash, it merges the commit it created with your working tree, optionally (if you used pop) removing the hash of that commit from the stash log.
-
No, they're part of your project's dependencies. There is a difference.
The difference is I'm not a pedantic dickweed and you are.
Actually, a Git Stash is a br
Oh good, a post that starts with "Actually,"
Guess how many shits I give? Hint: it's less than 1.
-
Well, then TFS isn't capable of being used offline, because you said so by correcting a previous statement by someone else.
-
-
The difference is I'm not a pedantic dickweed and you are.
Apparently modern build systems are pedantic dickweeds too, as they make the distinction between source code and dependencies.
-
Apparently.
-
source code management system for software development
Git is a fast, scalable, distributed revision control system
-
Okay, you might say that Git is general-purpose version control system. Technically, it can store any kind of files. However, it excels at pure text files, while it's far behind for everything else. That's because the development team's focus is mainly on plain text files, because most source files for software projects are plain text.
Or you might claim the docs contain false advertising.
-
Co-worker 11:30 AM
Just found a new git feature to make lives easier(and to of course shoot off toes with). the command "git update-index --assume-unchanged <filename>" will make it so it ignores local changes to those files. e.g. web.config in the BE projects and the index.html files that the FE build updates.Co-worker 11:36 AM
Unfortunately still won't let you rebase with local changes. :(QUALITY!
-
Okay, you might say that Git is general-purpose version control system. Technically, it can store any kind of files. However, it excels at pure text files, while it's far behind for everything else. That's because the development team's focus is mainly on plain text files, because most source files for software projects are plain text.
Or you might claim the docs contain false advertising.
Hey, it's gotten better.
When I investigated it back in 2006, you couldn't pull only part of the repository. If you had large image or binary files in your repos, you had to pull the whole thing. Have you got a 4 GB repos and need to edit a 50 byte file? Too bad! You get to pull 4 GB! Since I was investigating it for use with projects where the workflow was to include all project doc in the repos including customer forms, binary builds, AutoCAD diagrams, Autodesk Inventor and Simulation files, etc., it made git completely unusable.
It was also bad because the projects were all in LabView, where the source code itself is binary files. It was much easier to use TortoiseSVN and configure it with LVCompare. Half the engineers never figured out how to move or copy files within a repository, of course, but what can you do?
-
If you had large image or binary files in your repos, you had to pull the whole thing. Have you got a 4 GB repos and need to edit a 50 byte file?
Shhhhh!
If you say that too loudly, he'll you!