How hard is Git integration? Can Spambots do it?



  • I gave Xamarin Studio a go to see if it can do a basic clone of a Git repository over SSH. The reason I wanted to try it was that VS does not yet have it and it's such a bloat to install and I'm already using MonoDevelop on Linux so it should be straightforward.

    Ok, maybe I did something wrong but this error dialog is a :wtf: in itself. There's no context of what it tried and what went wrong. I'm assuming 'SSH-' is the partial plain text header SSH protocol has so it wasn't expecting SSH even thought I thought I asked for SSH.

    Bonus :wtf: from Windows 10 when trying to remove some leftover directories when trying this again:

    First I thought my Shift-Delete didn't go through because I hit the return key from muscle memory and the directory was still there and for some reason Windows 10 didn't refresh the view so that error came from trying to remove a directory that didn't exist.

    I kept trying to clone the repository again multiple times after I finally got all the bits right that usually just work when you give a ssh:// URL to any other Git thingy. Then the next thing happened:

    If you shat bricks in under 2 seconds, congratulations, you're a professional Windows user. I got no question, warning, explanation, nothing. Just suddenly popped up a file selection dialog which I wasn't expecting.

    After a while I read the title which confused me as I already have my key loaded to Pageant which every fucking Git software on Windows seems to work OK with except Xamarin Studio.

    Whatever, here's my (passphrased) key in PuTTy format as the dialog didn't even specify what format it wants (I tried the OpenSSH version as well, no dice):

    I give up.

    P.S Title :giggity:


  • Notification Spam Recipient

    Well of course invalid credentials were supplied, the software provided nothing!


  • BINNED

    I recently had to use Windows for development. First I tried Cygwin out of habit, and it was a pain. But then installed Git Bash, and it was a surprise how well integrated it was (even git lfs works with it out of the box). Now I use it also for anything shell.
    I love that PyCharm understands the git integration with no explicit setup. Why Xamarian needs this manual setup? Can they just figure out things looking at .git and ~/.ssh which is /users/user.name/.ssh in Windows7?


  • Banned

    I see everyone's following XCode now.

    Edit: apparently, I see everyone's following my link too. Which gamified my profile even more than it already was.



  • @dse said:

    I recently had to use Windows for development. First I tried Cygwin out of habit, and it was a pain. But then installed Git Bash, and it was a surprise how well integrated it was (even git lfs works with it out of the box). Now I use it also for anything shell.

    Yeah, Git Bash works well. Git integration seems impossible to do, though. I keep looking for working UIs but still all of them suck even for a veteran Git user like myself as I know how to fix Git problems but these integration problems are unfixable/workaroundable.

    @dse said:

    I love that PyCharm understands the git integration with no explicit setup. Why Xamarian needs this manual setup? Can they just figure out things looking at .git and ~/.ssh which is /users/user.name/.ssh in Windows7?

    Even if it did, my key is still passphrased which apparently isn't supported.

    ~/.ssh on Windows is so unconventional it would be really bad user experience if you had create a dot directory and a file there without extension. Pageant is the way to go on Windows IMO and if your software doesn't support it, it's broken.


  • Banned

    @hifi said:

    I keep looking for working UIs but still all of them suck even for a veteran Git user like myself as I know how to fix Git problems but these integration problems are unfixable/workaroundable.

    I wonder if it has something to do with using libgit2 instead of actual Git... But then, I know that at least TortoiseGit uses actual Git, so...



  • libgit2 has libssh2 support if you build it and AFAIK it works just fine but you probably need to write your own bridge for loading/accessing keys.

    You definitely should use libgit2 instead of Git as it's an actual library with an API. Good example of failure using Git CLI as a backend is SourceTree which blows in your face with CLI errors that you can't resolve using the UI.

    It's the incompetence of the programmer if he doesn't convert API errors into human readable messages where they are expected to happen (like anything related to remote repositories).


  • 🚽 Regular

    @hifi said:

    Shift-Delete

    A terrible habit I too have.

    Btw Microsoft, thanks for making so obvious whether it's the file on the right pane or the whole folder on the left pane which is focussed.


  • Winner of the 2016 Presidential Election

    @dse said:

    Git Bash

    These days, you don't even need Git Bash, CMD was finally made usable in Windows 10.

    @hifi said:

    ~/.ssh on Windows is so unconventional it would be really bad user experience if you had create a dot directory and a file there without extension.

    I agree, it's unconventional, but it's the "correct" place for SSH keys since Windows 10. The built-in SSH client looks for keys in ~/.ssh. Just mark the folder as hidden if it annoys you.



  • @asdf said:

    I agree, it's unconventional, but it's the "correct" place for SSH keys since Windows 10. The built-in SSH client looks for keys in ~/.ssh. Just mark the folder as hidden if it annoys you.

    Try to create a folder called .ssh, I challenge you with this:


  • Winner of the 2016 Presidential Election

    1. Open CMD
    2. mkdir .ssh
    3. ???
    4. Profit


  • @dse said:

    I tried Cygwin

    There's your problem, right there.



  • Is it me, or are most tools for programmers terribly programmed?

    It seems like they are all overengineered, buggy, or have their own weird idiosyncrasies.


  • Banned

    @hifi said:

    You definitely should use libgit2 instead of Git as it's an actual library with an API.

    Except libgit2 is inferior to actual Git in at least one way - it doesn't support shallow clones. And I bet this isn't the only thing missing.



  • @Gaska said:

    Except libgit2 is inferior to actual Git in at least one way - it doesn't support shallow clones. And I bet this isn't the only thing missing.

    If developers would even leverage the implemented features properly.


  • BINNED

    I am now tempted to write a git-based version of "Technologic" (the song by Daft Punk, not some obscure software).

    But that sounds like work so...



  • @hifi said:

    Ok, maybe I did something wrong but this error dialog is a :wtf: in itself.

    Whaaa!? Git has bad error messages? You smokin' crack!

    @hifi said:

    Bonus :wtf: from Windows 10 when trying to remove some leftover directories when trying this again:

    Uh. That looks like filesystem corruption. A LOT like filesystem corruption. Which probably means bad blocks on the disk. You should take care of that pronto before trying to shuffle more files around.

    @hifi said:

    First I thought my Shift-Delete didn't go through

    You know Windows 8 and up doesn't do that stupid confirm dialog any more, so you'd have a better experience just hitting regular delete.

    @hifi said:

    If you shat bricks in under 2 seconds, congratulations, you're a professional Windows user.

    Why? It's part of how shitty-ass SSH works. God forbid you just be able to type in a username and password.

    Open source developers saw Lotus Notes ".user" files and they were like, "fuck yeah, Lotus Notes, that is a software program we should emulate! Use the same scheme for SSH!"

    @hifi said:

    I got no question, warning, explanation, nothing. Just suddenly popped up a file selection dialog which I wasn't expecting.

    Whaa? Open source software without sufficient (read: any) usability testing? You smokin' crack!

    Seriously, though, at some point I have to ask: you're using an open source product to try and connect to another open source product that's notoriously difficult to use. What the fuck did you think was going to happen? Of course you're going to have an awful shitty experience with untested crap software.

    @hifi said:

    After a while I read the title which confused me as I already have my key loaded to Pageant

    Oh, excuse me, THREE shitty open source pieces of crap. (Actually I'm not 100% Pageant is open source, but I'm 100% sure it's a piece of crap. You have to use it with SourceTree. Which is also crap. There is no GOOD software that works with Git.)

    @dse said:

    Can they just figure out things looking at .git and ~/.ssh which is /users/user.name/.ssh in Windows7?

    Wrong and broken. But now it's a "standard" wrong and broken location, so whee: it'll be wrong and broken for all history. Good job, shitty open source developers!

    @hifi said:

    Yeah, Git Bash works well. Git integration seems impossible to do, though. I keep looking for working UIs but still all of them suck even for a veteran Git user like myself as I know how to fix Git problems but these integration problems are unfixable/workaroundable.

    There are GUIs that are nice to use, but incomplete. Like GitHub for Windows, which does many operations but does not do merges or conflict resolution. There are somewhat competent GUIs that do everything except SSH, like the Visual Studio plugin. Then there's extraordinarily shitty GUIs that do everything but are usability nightmares, like SourceTree.

    There are no good Git clients. There probably never will be.

    @hifi said:

    Pageant is the way to go on Windows IMO and if your software doesn't support it, it's broken.

    BUT PAGEANT IS ALSO BROKEN! So no.

    SSH is just yet another shitty open source technology that only has really shitty implementations on Windows. Shit shit shit. Wallow in it. Welcome to IT.

    @Gaska said:

    I wonder if it has something to do with using libgit2 instead of actual Git... But then, I know that at least TortoiseGit uses actual Git, so...

    By "actual Git" you mean, "using the CLI app and pretending it's an API?" No, that's the WORSE way to do it.

    Of course if you want to support some Git features, like pre-commit scripts, you have no choice but to use the CLI app as an API, because Git was designed by idiots who couldn't find their asses with both hands.

    Wallow in the shit. Welcome to IT.

    @Zecc said:

    A terrible habit I too have.

    Why?

    You make it a HABIT to bypass the safety feature that prevents accidental deletion and, as an added bonus in Windows 8+, also annoys the fuck out of you with pointless dialogs?

    Good job. You are A++ expert computer user.

    @anonymous234 said:

    Is it me, or are most tools for programmers terribly programmed?

    It's not just you, they are.

    There seems to be this attitude among developers that if your audience is also developers, there's no need to actually do any usability testing, or polishing, or (really) even any design. Because your users are "clever enough to figure it out".

    Well sure I'm clever enough to kind of figure Git out. But you know what? Every time I have to code now, I have to keep my brain full of Git quirks which leaves less brain for the actual problem I'm trying to solve. The cognitive load is just incredible. I'd probably be at least 25% more efficient if I didn't have to waste neurons thinking about how my source control system worked.

    Since everybody in open source is a FUCKING HACK, none of them would ever think this way, of course.

    @Gaska said:

    Except libgit2 is inferior to actual Git in at least one way - it doesn't support shallow clones. And I bet this isn't the only thing missing.

    Oh but everybody tells me Git is this awesome complete amazing perfect source control system, and now you're telling me its API doesn't even implement all of its features!?

    GEE! It's almost as if the Git developers are useless hacks who couldn't right good software if God Himself were guiding their cursor!


  • FoxDev

    @blakeyrat said:

    @hifi said:
    First I thought my Shift-Delete didn't go through

    You know Windows 8 and up doesn't do that stupid confirm dialog any more

    You sure about that?



  • @RaceProUK said:

    You sure about that?

    Yes.

    I suppose it might be configurable, and you went out of your way to turn it on specifically to be a pedantic dickweed towards Blakeyrat.

    But if you're trying to get into some moronic debate about the default behavior of Windows 8+, then I'm not biting. Please go away again.


  • FoxDev

    Nothing of the sort. Hell, I have no idea whether that is even controlled by a setting or not; certainly not a setting I've found, anyway.



  • I tried it on a clean Windows 10 Pro install, it still has the dialog. You're wrong on this one or you disabled it somehow or there's some edition of Windows that doesn't have it by default.


  • Banned

    @blakeyrat said:

    By "actual Git" you mean, "using the CLI app and pretending it's an API?"

    Yes, by "actual Git", I mean the program that is actually called Git and is the official reference implementation of Git protocol. As opposed to libgit2, which has nothing to do with actual Git (code-wise).



  • I think Blakey was talking about a confirmation prompt for regular delete, not permanent delete.

    On my copy of Windows 10, there's no prompt for regular delete but there is one for permanent delete.



  • 8.1 shows the dialog for both:


  • Banned

    @blakeyrat said:

    Oh but everybody tells me Git is this awesome complete amazing perfect source control system, and now you're telling me its API doesn't even implement all of its features!?

    If I made a DirectX wrapper that can't handle vertex buffers, would it mean DirectX sucks?



  • @Gaska said:

    Yes, by "actual Git", I mean the program that is actually called Git and is the official reference implementation of Git protocol.

    So Git doesn't even HAVE an API? You're saying "libgit2" is something entirely different?

    Jesus, it's even shittier than I assumed.

    How come web browsers are the only type of products open source development can make kind of non-shitty? God. Some university give me a few million to run a psychology study on that weirdness.



  • @Gaska said:

    If I made a DirectX wrapper that can't handle vertex buffers, would it mean DirectX sucks?

    But that's not what we're talking about.

    You're saying, "if I made a DirectX.exe CLI program and every video game and CAD had to open a virtual console and send commands to before they could create any 3D objects, and if any of the CLI flags for DirectX.exe ever changed literally all 3D software would break, would it mean DirectX sucks?" and the answer to that is: "obviously yes!!!"



  • @hifi said:

    Try to create a folder called .ssh

    Rename it to ".ssh." to get the behavior you expect. That moves ".ssh" from the extension part to the file name part. No, I don't know how you'd know this or what purpose it serves.



  • @blakeyrat said:

    Whaaa!? Git has bad error messages? You smokin' crack!

    No, that's MonoDevelop, even Git is more verbose.

    @blakeyrat said:

    Uh. That looks like filesystem corruption. A LOT like filesystem corruption. Which probably means bad blocks on the disk. You should take care of that pronto before trying to shuffle more files around.

    You're so delusional that Windows just can't have a bug in the UI refreshing on filesystem events that you immediately jump to broken hardware? Please.

    @blakeyrat said:

    Why? It's part of how shitty-ass SSH works. God forbid you just be able to type in a username and password.

    Uh, no? You load your key to an agent that keeps it in-memory so you don't need to put your passphrase/key everywhere.

    @blakeyrat said:

    Seriously, though, at some point I have to ask: you're using an open source product to try and connect to another open source product that's notoriously difficult to use. What the fuck did you think was going to happen? Of course you're going to have an awful shitty experience with untested crap software.

    Didn't expect anything, it has bugs, I could possibly create a bug report, maybe, if dare.

    @blakeyrat said:

    Oh, excuse me, THREE shitty open source pieces of crap. (Actually I'm not 100% Pageant is open source, but I'm 100% sure it's a piece of crap. You have to use it with SourceTree. Which is also crap. There is no GOOD software that works with Git.)

    Pageant works fairly well for everything else, like PuTTY itself, WinSCP, NetBeans jGit stuff, all other programs just use the key without asking questions and I'm happy with them being not broken.

    Oh, all of what I listed are open source and NetBeans even works with Git over SSH, gosh!

    @blakeyrat said:

    There are no good Git clients. There probably never will be.

    It's very much possible to write a good Git client, maybe even one that you would be competent enough to use. The problem is people wrapping the CLI and the other people not handling error conditions in libgit2 like in this case if they were using it.

    @blakeyrat said:

    BUT PAGEANT IS ALSO BROKEN! So no.

    And the arguments are? It's probably the most simple software there is. Load a ssh key, unlock it, allow other programs of the same user user it for authentications.

    @blakeyrat said:

    SSH is just yet another shitty open source technology that only has really shitty implementations on Windows.

    Microsoft is fixing that by porting OpenSSH properly.

    @blakeyrat said:

    Well sure I'm clever enough to kind of figure Git out.

    Don't lie, you're really bad at using Git and you've proven it so many times.


  • Banned

    @blakeyrat said:

    How come web browsers are the only type of products open source development can make kind of non-shitty?

    Counterargument to your first premise: Open Source compilers are rather good.
    Counterargument to your second premise: Open Source web browsers are utter shit. They're all broken in many ways and crash constantly and hog more resources than some AAA games. They're almost worse than closed-source browsers.

    @blakeyrat said:

    But that's not what we're talking about.

    Yes, that's exactly what we're talking about. "Unofficial Git reimplementation can't do something Git can do, therefore Git sucks."

    @blakeyrat said:

    You're saying, "if I made a DirectX.exe CLI program and every video game and CAD had to open a virtual console and send commands to before they could create any 3D objects, and if any of the CLI flags for DirectX.exe ever changed literally all 3D software would break, would it mean DirectX sucks?"

    No, I didn't say anything even barely similar to this.

    @blakeyrat said:

    and the answer to that is: "obviously yes!!!"

    Yeah it would, though mostly because of performance problems.



  • For move to Recycle Bin, yes, there's no confirmation dialog on Windows 10. Usually when I delete something I also want to reclaim space so I usually delete stuff with shift. Although in this case it was just a habit of using it everywhere.


  • 🚽 Regular

    @blakeyrat said:

    Why?

    You make it a HABIT to bypass the safety feature that prevents accidental deletion and, as an added bonus in Windows 8+, also annoys the fuck out of you with pointless dialogs?

    Nope, I've already made a habit of it since Windows 95. It some times still pops up. Feel free to go back in time and slap my self back then; I've already admitted it is a terrible habit. I could certain do without it.

    Also, I'm not on Windows 8+.

    Besides, did you just call a safety feature a pointless dialog? Because that's what the confirmation dialog is, very much more so than with regular to-the-Recycle-Bin delete.



  • @hifi said:

    You're so delusional that Windows just can't have a bug in the UI refreshing on filesystem events that you immediately jump to broken hardware? Please.

    There is an error that's something like, "that file doesn't exist anymore, so I can't delete it", but it doesn't show a nasty error code like that. It's a friendly message.

    I have no idea what was going on with your computer, if it were mine, I'd do a disk scan after seeing something like that.

    @hifi said:

    Uh, no? You load your key to an agent that keeps it in-memory so you don't need to put your passphrase/key everywhere.

    I don't think typing in passwords is this horrible awful thing we needed this stupidly complex software (and the various "helper apps" it requires like Pageant) to solve it.

    In any case, Git, if its developers weren't lazy and incompetent, could have simply exposed their username/password login over SSH. They'd already implemented one for HTTP(S). The code's already there.

    @hifi said:

    Didn't expect anything, it has bugs, I could possibly create a bug report, maybe, if dare.

    You're beyond "bugs" into "your method of developing software is inherently broken".

    @hifi said:

    Pageant works fairly well for everything else,

    I didn't say it didn't work, I said it was shitty software. I have no interest in dancing bears.

    @hifi said:

    It's very much possible to write a good Git client,

    Nope.

    You'd think so, but then you think about things like: Git's error messages, which are impossible for a machine to parse. Or the features like pre-commit hooks, which basically require Git to run a ton of other software.

    I don't think it is possible to write a good Git client. Maybe a passable one. But a good one? Not without changing Git itself. And that won't happen because Git's developers are incompetent idiots. (And they've coded themselves into a corner-- they can't change Git because since people use the CLI as an API, if they did they'd break software that uses Git.)

    @hifi said:

    Microsoft is fixing that by porting OpenSSH properly.

    Which is good, but it'll be another 57 eons before any of these shitty open source products support that.

    @hifi said:

    Don't lie, you're really bad at using Git and you've proven it so many times.

    Ok; so what?

    The point I'm making is that Git requires an extremely high amount of cognitive load. So brainpower I could use on making my programming more efficient is instead being wasted memorizing all these various quirks about Git.

    That was my point. Whether or not I am good at Git has nothing to do with that point. If you're going to debate me, please stick to the points I am making.

    @Gaska said:

    Counterargument to your first premise: Open Source compilers are rather good.

    I thought they were all really shitty until LLVM came along very recently. At least, that's the consensus I've gotten from articles and such.

    @Gaska said:

    Yes, that's exactly what we're talking about. "Unofficial Git reimplementation can't do something Git can do, therefore Git sucks."

    Why is libgit2 even necessary? Why doesn't Git provide its own API? For a product like SOURCE CONTROL, which of ALL types of product is the MOST in need of being embedded in other applications.

    Again: you're just finding yet another way to say "Git developers are incompetent". Well, I already knew that. Tell me something new.

    @Gaska said:

    No, I didn't say anything even barely similar to this.

    But it's a good example of why Git developers are incompetent.

    @hifi said:

    Usually when I delete something I also want to reclaim space so I usually delete stuff with shift.

    You don't know how the Recycle Bin works, do you? Because that's gibberish.

    @Zecc said:

    Nope, I've already made a habit of it since Windows 95.

    So stop doing it. Habits are bad. Especially in software.

    @Zecc said:

    Besides, did you just call a safety feature a pointless dialog?

    No. The safety feature is the Recycle Bin. Which you're bypassing by holding shift. When there's absolutely no reason to.

    Although maybe you're also entirely ignorant of how it works, so I guess there's that.



  • @blakeyrat said:

    I don't think typing in passwords is this horrible awful thing we needed this stupidly complex software (and the various "helper apps" it requires like Pageant) to solve it.

    You don't seem to understand how public key cryptography works or why people use it. It's ok, you don't need to.

    @blakeyrat said:

    In any case, Git, if its developers weren't lazy and incompetent, could have simply exposed their username/password login over SSH. They'd already implemented one for HTTP(S). The code's already there.

    And they have? Git doesn't care how you authenticate over SSH. Now you called people incompetent and lazy again because you don't know shit about anything.

    @blakeyrat said:

    You're beyond "bugs" into "your method of developing software is inherently broken".

    Right, because nothing good can come out of writing your software in the public. Even your beloved Microsoft does it now. But I guess you're ok with it because they mostly have everything closed.

    @blakeyrat said:

    I didn't say it didn't work, I said it was shitty software. I have no interest in dancing bears.

    Wat?

    @blakeyrat said:

    @hifi said:
    It's very much possible to write a good Git client,

    Nope.

    You'd think so, but then you think about things like: Git's error messages, which are impossible for a machine to parse. Or the features like pre-commit hooks, which basically require Git to run a ton of other software.

    I don't think it is possible to write a good Git client. Maybe a passable one. But a good one? Not without changing Git itself. And that won't happen because Git's developers are incompetent idiots. (And they've coded themselves into a corner-- they can't change Git because since people use the CLI as an API, if they did they'd break software that uses Git.)

    A good GUI Git client or integration does not use the Git CLI at all and client side hooks are useless and usually :doing_it_wrong:.

    I don't think the Git developers care about other people using their CLI as an API, they rather like their CLI as it is. You can correct me on this if you find a reference which says they didn't improve something in the CLI because they are too scared of Atlassian.

    @blakeyrat said:

    @hifi said:
    Don't lie, you're really bad at using Git and you've proven it so many times.

    Ok; so what?

    Good.

    @blakeyrat said:

    The point I'm making is that Git requires an extremely high amount of cognitive load. So brainpower I could use on making my programming more efficient is instead being wasted memorizing all these various quirks about Git.

    That was my point. Whether or not I am good at Git has nothing to do with that point. If you're going to debate me, please stick to the points I am making.

    There's more wrong in the use cases I've heard you using it than Git itself.

    @blakeyrat said:

    Why is libgit2 even necessary? Why doesn't Git provide its own API? For a product like SOURCE CONTROL, which of ALL types of product is the MOST in need of being embedded in other applications.

    Because an API wasn't necessary for the intended use case.

    @blakeyrat said:

    You don't know how the Recycle Bin works, do you? Because that's gibberish.

    I think I know it's not a magic box that frees all the disk space the files were using before. Correct me if I'm wrong.

    If my disk is full and I move 50 gigabytes of high-definition fetish porn to the Recycle Bin, how much free space does my disk have then? I'm pretty sure there's still 50 gigabytes of high-definition fetish porn somewhere and I can't download more.

    @blakeyrat said:

    @Zecc said:
    Besides, did you just call a safety feature a pointless dialog?

    No. The safety feature is the Recycle Bin. Which you're bypassing by holding shift. When there's absolutely no reason to.

    Although maybe you're also entirely ignorant of how it works, so I guess there's that.

    So tell us how ignorant we are. Explain to us how the Recycle Bin makes the "deleted" data magically disappear from the disk until you want them back.



  • @hifi said:

    You don't seem to understand how public key cryptography works or why people use it. It's ok, you don't need to.

    Right; I also don't want to be forced to use it. I have a username, I have a password, just let me use those.

    So while it's great to know it's theoretically possible in some weird sci-fi martian universe, I'm here with my feet on good ol' Mother Earth, and I don't see the fucking option on any of my Git clients.

    @hifi said:

    And they have? Git doesn't care how you authenticate over SSH. Now you called people incompetent and lazy again because you don't know shit about anything.

    I've never seen it.

    @hifi said:

    Right, because nothing good can come out of writing your software in the public.

    I'm not sure anything has.

    @hifi said:

    Even your beloved Microsoft does it now.

    I know; and I'm just waiting for all their dev tools to turn to shit as a result.

    @hifi said:

    Wat?

    Try reading a book sometime.

    @hifi said:

    A good GUI Git client or integration does not use the Git CLI at all and client side hooks are useless and usually :doing_it_wrong:.

    Right; but that's the point. Now you've written a GUI for Git which works except it doesn't run pre-commit hooks. And it's great. So you try to sell it to Corporate Developer, and he goes: "nope, can't use it, our policy is you always have to run the pre-commit hooks when using Git".

    One of the reasons I think writing a quality GUI for Git is literally impossible.

    @hifi said:

    I don't think the Git developers care about other people using their CLI as an API,

    Right; that is because they are incompetent.

    @hifi said:

    they rather like their CLI as it is.

    Well, they'd better, because they've created a world where it can never be changed or improved in any way without breaking hundreds of other pieces of software.

    @hifi said:

    You can correct me on this if you find a reference which says they didn't improve something in the CLI because they are too scared of Atlassian.

    Look, nobody who's used SourceTree is scared of Atlassian. It's shit. It's utter shit. The only reason I use it is because it's the only Git GUI on Windows that implements 100% of the features I need.

    @hifi said:

    There's more wrong in the use cases I've heard you using it than Git itself.

    Huh?

    "Using Git requires too much cognitive load." "There's more wrong in the use cases I've heard you using it than Git itself."

    Am I the only one who thinks that's gibberish?

    @hifi said:

    Because an API wasn't necessary for the intended use case.

    It's a fucking SOURCE CONTROL PRODUCT! What do you do with it OTHER than integrate it into an IDE!?!? How ELSE do you integrate a product with another product than by using an API? That's how YOU were fucking trying to use it, and look at the experience YOU had.

    crazy_pills.png

    You give us a big long post about how shitty Git is, then when someone comes in here and confirms your experience, you just flip-flop entirely and you're basically sucking Git developer cock.

    What.

    The.

    Fuck.



  • @anonymous234 said:

    Is it me, or are most tools for programmers terribly programmed?

    It seems like they are all overengineered, buggy, or have their own weird idiosyncrasies.


    Why did you spell the word "and" with an O and an R in the last sentence?



  • @blakeyrat said:

    @hifi said:
    You don't seem to understand how public key cryptography works or why people use it. It's ok, you don't need to.

    Right; I also don't want to be forced to use it. I have a username, I have a password, just let me use those.

    So while it's great to know it's theoretically possible in some weird sci-fi martian universe, I'm here with my feet on good ol' Mother Earth, and I don't see the fucking option on any of my Git clients.

    Because you don't use the official Git client which is the CLI. For the millionth time, stop using broken integrations and learn the damn tool.

    @blakeyrat said:

    @hifi said:
    And they have? Git doesn't care how you authenticate over SSH. Now you called people incompetent and lazy again because you don't know shit about anything.

    I've never seen it.

    Because you are incompetent and lazy for not using the CLI when the broken integrations are not enough. Now that's justified.

    @blakeyrat said:

    Right; but that's the point. Now you've written a GUI for Git which works except it doesn't run pre-commit hooks. And it's great. So you try to sell it to Corporate Developer, and he goes: "nope, can't use it, our policy is you always have to run the pre-commit hooks when using Git".

    The Corporate Developer doesn't know shit about Git if he wants a pre-commit hook. Better off not using any DVCS.

    @blakeyrat said:

    @hifi said:
    I don't think the Git developers care about other people using their CLI as an API,

    Right; that is because they are incompetent.

    Making a tool for yourself for your own use and not caring if someone else needs an API isn't incompetency.

    @blakeyrat said:

    @hifi said:
    they rather like their CLI as it is.

    Well, they'd better, because they've created a world where it can never be changed or improved in any way without breaking hundreds of other pieces of software.

    I still don't think they care breaking some broken hack that's written on the CLI.

    @blakeyrat said:

    It's a fucking SOURCE CONTROL PRODUCT! What do you do with it OTHER than integrate it into an IDE!?!? How ELSE do you integrate a product with another product than by using an API? That's how YOU were fucking trying to use it, and look at the experience YOU had.

    You don't. God. It wasn't intended to be integrated into some shitty IDE in the first place. No Git developer gives a fuck about IDE integration because they use the CLI - the product itself.

    @blakeyrat said:

    @hifi said:
    If my disk is full and I move 50 gigabytes of high-definition fetish porn to the Recycle Bin, how much free space does my disk have then?

    50 gigabytes.

    Files in the Recycle Bin are deleted as disk space pressure requires it.

    This... I didn't actually know. The disk space is probably also shown as free everywhere else while the stuff is there so that you sort of know how much free space you really have?

    Has this behavior changed since Windows 95 or has it always been like that? I recall it having timed cleanup.



  • @blakeyrat said:

    You give us a big long post about how shitty Git is, then when someone comes in here and confirms your experience, you just flip-flop entirely and you're basically sucking Git developer cock.

    What.

    The.

    Fuck.

    No, I gave a big long post (:giggity:) how shitty the Git implementation/integration in MonoDevelop is.

    Get your shit straight.

    Also don't :hanzo: an entire paragraph, you got caught.



  • Ever tried right-clicking on the waste bin and selecting "properties"?

    You might be enlightened.


  • FoxDev

    Ah, so there is an option. But that option only controls the standard delete; the force-delete (in screenshot) shows a prompt regardless.

    Now, can someone move that light? it's blinding me!



  • @hifi said:

    Because you don't use the official Git client which is the CLI. For the millionth time, stop using broken integrations and learn the damn tool.

    But not using "the official Git client which is the CLI" is exactly what you are bitching about in this thread.

    @hifi said:

    The Corporate Developer doesn't know shit about Git if he wants a pre-commit hook.

    Doesn't matter; all that matters is shitty SourceTree supports it (because it uses Git as an API) and your quality tool does not.

    @hifi said:

    Making a tool for yourself for your own use and not caring if someone else needs an API isn't incompetency.

    Once again: it's a source control tool. The entire PURPOSE of those are to integrate with other programs.

    How would you feel if it were, say, a spell checker? But you had to run it as a CLI app. Because it offered no API. Would you use that spell checker? You can't integrate it with your word processor or web browser or IM client without opening a virtual console and sending text to it. Oh, and if any of its CLI switches changes, suddenly your IM program no longer works right. Would you say that spell checker is a quality product?

    No, no you would not. Unless you're about to lie to me to "prove" your point.

    @hifi said:

    I still don't think they care breaking some broken hack that's written on the CLI.

    I know they don't care. Because they are incompetent. We keep going over this again and again, it's like a broken record.

    @hifi said:

    It wasn't intended to be integrated into some shitty IDE in the first place.

    It's a SOURCE CONTROL TOOL, what the fuck ELSE are those for?

    @hifi said:

    No Git developer gives a fuck about IDE integration because they use the CLI - the product itself.

    Right; they are incompetent. We know.

    @hifi said:

    This... I didn't actually know.

    Actually I'm wrong, which is why I deleted it. I was thinking of another OS; Windows always reserves X% of your disk for recycle bin, and it'll only delete until it reaches X%.

    So sorry about that.

    Either way, it's dumb to do the force-delete until you actually have a rational reason to bypass the recycle bin.

    @hifi said:

    No, I gave a big long post (:giggity:) how shitty the Git implementation/integration in MonoDevelop is.

    Right; and I'm apparently an idiot for telling you how Git integration with EVERY IDE is shit.

    Which is something you're apparently ok with, given this post I'm replying to.

    Which makes me wonder: why the fuck do you care if it integrates with Xamaramammran badly or not?



  • @dse said:

    But then installed Git Bash, and it was a surprise how well integrated it was (even git lfs works with it out of the box). Now I use it also for anything shell.

    Yeah, I use Git Bash via the GitHub Desktop app, and it's great. I never have to enter a password or deal with SSH keys because that's all done for me by the GitHub Desktop app. I just open it, launch the shell, close it, and spend all day developing.

    My only complaint is that symlink support still doesn't work but from what I can tell no port of git to Windows has been able to pull it off for some reason.

    @Zecc said:

    Btw Microsoft, thanks for making so obvious whether it's the file on the right pane or the whole folder on the left pane which is focussed.
    I hate the left pane with a passion and always disable it - it's a waste of space for me. I have my folder windows tall and thin so I can have them side by side.


    I'm too lazy to read the blakerant.


  • Winner of the 2016 Presidential Election

    @hifi said:

    Microsoft is fixing that by porting OpenSSH properly.

    Well, a proper port would store the keys somewhere in %APPDATA%. For some reason, Microsoft decided to ignore their own convention.



  • @blakeyrat said:

    But not using "the official Git client which is the CLI" is exactly what you are bitching about in this thread.

    It's different to bitch about broken implementations than bitch Git is shit because of broken implementations. The difference is I'm competent to use Git from the CLI and I complain when GUI tools can't even remotely do the same things as the CLI, like a damn repository clone.

    @blakeyrat said:

    Doesn't matter; all that matters is shitty SourceTree supports it (because it uses Git as an API) and your quality tool does not.

    Not like Torvalds forced everyone else to use Git in the first place (except the kernel developers). If the tool would be even remotely good and simple it could gain traction.

    @blakeyrat said:

    Once again: it's a source control tool. The entire PURPOSE of those are to integrate with other programs.

    It's a convenience to have source control integrated to an IDE, not its purpose. It's a lot of convenience, I agree with that, but it's not the purpose of source control.

    @blakeyrat said:

    Actually I'm wrong, which is why I deleted it. I was thinking of another OS; Windows always reserves X% of your disk for recycle bin, and it'll only delete until it reaches X%.

    So sorry about that.

    Fair enough.

    @blakeyrat said:

    Either way, it's dumb to do the force-delete until you actually have a rational reason to bypass the recycle bin.

    That I agree with. It's an annoying habit when you don't strictly need the space immediately.

    @blakeyrat said:

    Right; and I'm apparently an idiot for telling you how Git integration with EVERY IDE is shit.

    Which is something you're apparently ok with, given this post I'm replying to.

    It's a well known fact all Git integrations suck one way or another and I'm with you 100%. You usually pull the card that Git itself (the CLI) is somehow broken and I disagree with that as it has never done anything unexplainable for me and you have failed to give any good examples where the CLI would be broken and not work like it's supposed to.

    I was calling out Xamaramammran
    because their integration is also bad and I doubt many have really used it so it was mildly interesting as it's not as mainstream.

    @blakeyrat said:

    Which makes me wonder: why the fuck do you care if it integrates with Xamaramammran badly or not?

    Because I started using it and I'm interested in how Git integrations work. If I can use an IDE integration I usually use it and when it's not enough I switch to CLI at least for the features that don't work. Like if I used Visual Studio I would probably use the CLI to handle remotes over SSH because it's not even supposed to work yet.



  • This post is deleted!


  • This post is deleted!


  • This post is deleted!


  • @Cindy_Adelia said:

    too hard but good article

    Almost on-topic!


  • 🚽 Regular

    Context for people from the future:




  • Winner of the 2016 Presidential Election

    But, but... I thought writing a spam bot for Discourse was impossible!


Log in to reply