Git help - branches with no commits?



  • @Kian said:

    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.



  • @blakeyrat said:

    Blah blah blah, we've talked about that before.

    We have? I missed it.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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!


  • Banned

    @blakeyrat said:

    TFS doesn't. Not any I'm aware of.

    Working offline?

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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?

    @blakeyrat said:

    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.

    @blakeyrat said:

    I proposed two other alternatives.

    Yes, and I replied to them separately. Gosh, learn to read already.



  • @Gaska said:

    Working offline?

    Supported that since 2013.

    BUT THANKS FOR ASSUMING I'M A LIAR, ASSHOLE.

    @Gaska said:

    Why?

    Because I make a lot of money creating computer software.

    @Gaska said:

    Computers are just stupid machines.

    Some machines are a pleasure to use, and some are a chore.

    @Gaska said:

    The only reason they exist is to get the work done.

    Blatantly false.

    @Gaska said:

    Work is boring.

    Boring doesn't bother me; frustrating does. If Git were merely boring, I'd not be complaining about it.

    @Gaska said:

    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.

    @Gaska said:

    Also, IIRC, you were trying to do something more fancy than just keep your code in repo.

    No. I was not.

    @Gaska said:

    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?

    @Gaska said:

    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.

    @Gaska said:

    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.



  • @Gaska said:

    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.


  • Banned

    @blakeyrat said:

    Supported that since 2013.

    AFAIK you can't switch branches or see history. Not to mention commits.

    @blakeyrat said:

    Because I make a lot of money creating computer software.

    If your spouse was a drug dealer, would you want everyone to love cocaine?

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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!

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.


  • Banned

    @Magus said:

    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.

    @Magus said:

    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).



  • @Gaska said:

    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.

    @Gaska said:

    If your spouse was a drug dealer, would you want everyone to love cocaine?

    Yeah, probably.

    @Gaska said:

    Computers get the work done.

    Right; but you said that was their sole purpose, which is untrue.

    @Gaska said:

    I didn't know there are thousands-employee-companies that make Skyrim mods.

    The obvious example would be Bethesda.

    @Gaska said:

    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?

    @Gaska said:

    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.


  • Banned

    @blakeyrat said:

    Huh? WTF?

    Yes, TFS lets you switch branches and see history.


    Offline?

    @blakeyrat said:

    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".

    @blakeyrat said:

    The obvious example would be Bethesda.

    Suuuure, the entirety of Bethesda's work is made with Creation Kit, including Creation Kit itself!

    @blakeyrat said:

    Version control of a development project?

    Version control of source code.

    @blakeyrat said:

    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.



  • @Gaska said:

    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.

    @Gaska said:

    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.

    @Gaska said:

    Version control of source code.

    In Skyrim mod development, .esp files are source code. They're not text files, though.



  • @blakeyrat said:

    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.


  • Banned

    @blakeyrat said:

    No; Creation Kit is in C++.

    And Git handles C++ just fine.

    @blakeyrat said:

    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.

    @blakeyrat said:

    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.



  • @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.

    @TimeBandit said:

    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.

    @TimeBandit said:

    They never wanted you to use it.

    I don't want to use it, either.

    @TimeBandit said:

    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.

    @TimeBandit said:

    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.



  • @Gaska said:

    So they shouldn't use Git for keeping this, because Git sucks at it.

    Duh. Git sucks at everything.

    @Gaska said:

    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.

    @Gaska said:

    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.



  • @Gaska said:

    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.



  • @blakeyrat said:

    @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.

  • Banned

    @blakeyrat said:

    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.

    @blakeyrat said:

    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).

    @blakeyrat said:

    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.

    @Magus said:

    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...


  • Discourse touched me in a no-no place

    @blakeyrat said:

    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.


  • Banned

    @Magus said:

    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



  • @Gaska said:

    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.

    @Gaska said:

    Keyword: "human-readable".

    That doesn't imply text files. The Papyrus scripts embedded in those Skyrim .esp files are human-readable.



  • @blakeyrat said:

    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.



  • @blakeyrat said:

    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.



  • @powerlord said:

    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.

    @Circuitsoft said:

    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.



  • @blakeyrat said:

    Guess how many shits I give? Hint: it's less than 1.

    0.9999999999 ?



  • @blakeyrat said:

    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.



  • @Gaska said:

    source code management system for software development

    Git is a fast, scalable, distributed revision control system


  • Banned

    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!



  • @Gaska said:

    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?



  • @BaconBits said:

    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 :doing_it_wrong: you!


Log in to reply