4 ms·
I like git, it works perfectly fine on my command line. I do wonder, though, if it would have been designed differently if the whole “code forge” sort of appli
by bee_rider 7mo ago
I like git, it works perfectly fine on my command line.
I do wonder, though, if it would have been designed differently if the whole “code forge” sort of application (or whatever GitHub and the like are called) was envisioned at the time. Pull requests aren’t even a concept in git proper, right?
It seems like a kind of important type of tool. Even though git is awesome, we don’t need a monoculture.
- mzi 7mo agoÀ pull request is just you requesting someone to pull from you in git proper. So the maintainer adds you as a remote and pulls from you.
- k33n 7mo agoThere’s really nothing resembling a “pull request” that’s used by 99.999% of git users. We have merge requests. But we call them pull requests for some dumb reason.
- throwaway173738 7mo agoThey sure aren’t. Before github you set up remotes or emailed patches.
- tadfisher 7mo agogit request-pull Docs: https://git-scm.com/docs/git-request-pull https://git-scm.com/docs/git-request-pull Generates a pretty email requesting someone to pull commits from your online repository. It's really meant for Linus to pull a whole bunch of already-reviewed changes from a maintainer's integration branch. The rough equivalent to GitHub's "pull request" is the "patch series", produced by: git format-patch Docs: https://git-scm.com/docs/git-format-patch https://git-scm.com/docs/git-format-patch Which lets you provide a "cover letter" (PR description), and formats each commit as a diff that can be quoted inline in an email reply for code review.
- functional_dev 7mo agoYou are right, PRs are not in git. format-patch and request-pull are originals designed for mailings lists. Github just put UI on top. Interesting that DAG model means any branch from anywhere can be merged... the forge is just coordination. Explored here if curious - https://vectree.io/c/git-graph-theory-logic https://vectree.io/c/git-graph-theory-logic
- grogenaut 7mo agoSorceforge predates git by about 11 years. As do several other projects like google code. Its not a new idea. Or basically most source control systems. Git, actually, is the more unique idea, of a DVCS... versus a cVCS...
- cornholio 7mo agogit is not a new idea, various features of git existed in various SCMs for decades. The distributed aspect existed in Bitkeeper too, for example. But it took a big brain with a systemic view of the problem and solutions space to bring them all together - in a lighting fast implementation to boot.
- toyg 7mo agoI don't think technical features were the key to git's success. What really made the difference was: 1. it was free; 2. it was sponsored by the most fashionable project of the time (Linux); 3. it did not require a server; 4. because it was FOSS, people could extend it without asking anyone's permission; and... 5. ...once GitHub appeared, simplifying the PR process, the network effect did its thing. Git was hard to use and to understand. It did not win on technical features alone, as you said there were plenty of alternatives. It won because of community and network effects.
- skydhash 7mo ago> Git was hard to use and to understand So is ffmpeg and ImageMagick. Or Blender. Or Freecad. There are domains that do require some learning and training to properly use the available tool.
- thwarted 7mo ago> or whatever GitHub and the like are called GitHub is a social networking site that just so happens to have code hosting related features.
- Hamuko 7mo agoPeople keep saying this but I can't really find much anything social about GitHub.
- toyg 7mo agoSome people spend most of their time in issues and PRs, which are social features mapping social interactions.
- Hamuko 7mo agoIs Bugzilla also a social network?
- toyg 7mo agoTo the degree that it emphasizes communication between individuals over being a dumb database, yes, a bugtracker can be a social network. Bugzilla is a bit too close to the "database" side of the spectrum, whereas GitHub is at the other end; Jira sits somewhat in the middle.
- petepete 7mo agoYou can follow, star, favourite and comment on things, you get a feed where recent updates on stuff/people you've interacted are listed, you can customise your profile page with snippets about yourself, a photo, a status, contact info and add whatever else you want (including more photos, images, charts etc) in markdown. It now has discussions which are essentially a forum. It's as much a social network/collaboration tool as it is place to store your code these days.
- imron 7mo ago> I do wonder, though, if it would have been designed differently if the whole “code forge” sort of application (or whatever GitHub and the like are called) was envisioned at the time. I would argue that it was purposefully designed in contrast against that model. GitHub is full of git anti patterns.
- jonhohle 7mo agoPerforce had change sets and there were lots of tools for code reviews that worked a lot like GitHub before GitHub (review board, phabricator, another one I can’t remember).
- red_admiral 7mo agoIndeed they're not; they live on the 'user layer' rather than the 'application layer'. That's not to say many git-frontends (IntelliJ, Sourcetree, Github desktop) don't support them, but "git pullrequest" isn't a thing. Edit: see "git request-pull" as mentioned below (file:///C:/Program%20Files/Git/mingw64/share/doc/git-doc/git-request-pull.html) but what it does is write "a pretty email" (the other poster's words) to STDOUT.
- 1718627440 7mo ago> mentioned below (file:///C:/Program%20Files/Git/mingw64/share/doc/git-doc/git-request-pull.html) What? Is the intention, that I access your C: drive? Also is it common to have a file:// link on MS Windows? I thought this was a unix thing.
- red_admiral 7mo agoSorry. For some reason I used to get `git help ...` redirect me to the (URL of) the actual website. I think the file:/// is so that you can fire off "[cmd /c] start FILEPATH" to load the default browser, while also not having to worry about spaces in the path.
- ngc248 7mo ago"Pull requests" are part of git though since it was originally a DCVS it meant you would pull from an individuals git repo ... services like github etc centralized the concept