Linus Torvalds nyert; t ne github pull kéréseket Hacker News

A kernel kiforrott, szigorú és jól definiált fejlesztési folyamatot folytat [1]. Azok a dolgok, amelyek nem illenek jól ebbe a modellbe, egyszerűen nem lesznek sikeresek, még akkor sem, ha más kontextusban jól működnek.

kéréseket

Ha fejlesztői hibás kódot követnek el, valószínűleg meglehetősen könnyű megtalálni őket és esetleg be is indítani őket. Ha nem tudja megmondani, hogy egy kernel javítás származik-e, vagy ha valóban a megadott személytől származik, az megkérdőjelezi a kernel biztonságát.

Ezenkívül a tapasz más módon hiányos volt. (a) hiányzott az Signed-off-by: fejléc, és (b) el kellett volna küldeni a linux-bluetooth levelezőlistára vagy a Bluetooth karbantartók egyikére, a linux-bluetooth levelezőlistával cc'ed.

Te egy idióta vagy. "Amelyet az emberek udvariatlannak tartottak. Úgy tűnik, hogy a megjegyzést, amelyre válaszolt, törölték, ezért nem tudom megítélni, hogy ez mennyire volt megfelelő. Szeretném azt gondolni, hogy ez teljesen megfelelő volt - én egyetértek veled abban, hogy további észrevételei meglehetősen udvariasak voltak.

Megjegyzem, hogy a GitHub valójában valamikor ezelőtt blogbejegyzést készített a helyes elkövetési gyakorlatokról, és úgy tűnik, hogy ez megegyezik azzal, amit Torvald követel. Nem biztos, hogy értem, mi a probléma. https://github.com/blog/926-shiny-new-commit-styles

Ismét Linux. És az volt a kérdés, hogy mit/mit/hogyan kell elfogadnia, elkötelezi magát a GvaldHub torvalds/linux-on. Bárki szabadon elkötelezheti magát bárhol, elágazhat a Linuxon, vagy egyedi összeállításokat, disztribúciókat stb. Készíthet. De ha van egy hely, akkor abszolút joga van zsarnoknak lenni, a torvalds/linux felett van. Az a tény, hogy a Linux-fejlesztési igényei alapján a The Right Way verzióellenőrzés végett is megtervezte és bootstrapolt git-t készített, ennek az érvnek a tetején van. De nem volt udvarias.

pirtlj "Nem jöttem rá, hogy Linus szar nem büdös." torvalds "debil vagy"

Úgy tűnik, igazságos velem szemben.

Még akkor is, ha nem tudok kódolni, mint Linus, legalább megpróbálhatok olyan üzeneteket írni, mint ő ...

Ez azt jelenti, hogy szerintem ez nem elég jelentős ahhoz, hogy mindkét esetben kényszerítő okot adjunk.

Akkor jobb azt mondani, hogy "javítások", tehát megkülönböztethető a kifejezésben használt imperatívumoktól. - Ezt meg kell oldanunk.

Edit: hogy egy kicsit világosabb legyen; a hagyományos SCM-nek van egy egyszer soha nem változtatható írási modellje a fejlesztés törzséhez. Ennek problémája van egy szakértői felülvizsgálati helyzetben, és ez a probléma: Lehet, hogy a legjobb szándékkal haladok a dolgok különálló foltokká bontására. De amikor réz ütésekbe kezd, a rendszer változásai általában az adott sorrendben történnek - a szolgáltatás tesztelésekor felfedezhet egy látens hibát, amelynek semmi köze sincs a szolgáltatásához. Most két választási lehetőséged van: várhatsz és nem követhetsz el semmit, amíg minden nagyszerű nem lesz, ami azt jelenti, hogy nem integrálódsz a fővonallal, ami azt jelenti, hogy az integráció hihetetlenül fájdalmas lesz, ami zárakhoz vezet; vagy elkötelezed magad abban a pillanatban, ami sokkal jobb az integráció szempontjából, és sokkal könnyebb a részleges változtatásokat alátámasztani, és általában megszerezni az SCM összes nem biztonsági másolatát tartalmazó elemet, de ami nagyon ördögi a szakértői értékelésnek. A rebase -i használatával a második stílusban elég könnyű elköteleződni ebben a pillanatban majd később takarítsák meg őket szakértői értékelés céljából; ez a történelem átdolgozásának képessége azt jelenti, hogy azonnal meghozhat döntéseket anélkül, hogy aggódna, hogy örökkön-örökké kőbe kerülnek.

Nem voltam mindig annyira keményvonalas a témában, de jelenlegi munkám a Perforce-t használja fő SCM-ként, és rájöttem, hogy nem értek egyet szinte minden olyan döntéssel, amelyet a Perforce átfogóan hoz. Még mindig használom, mert minden SCM sokkal jobb, mint nincs SCM, és nem akarom mindenki másnak megmagyarázni a git-t, de a tényleges fejlődésem a git-p4 használatával történik.

Az olyan projektek, mint a Git és a Linux, javításaikként javításokat vesznek fel, amelyeket a projektek levelezőlistájára küldenek. Mivel a közzétételkor nincs beolvasztva a törzsfába, nem lenne értelme múlt idõt használni annak leírására, hogy mit kell tennie, ha összevonják.

Hála a Git nagyszerű történelem-grafikon módosító funkcióinak, mint például az újrabázis és a cseresznye szedés, még kevésbé lenne értelme. Mindig vállalhat valamilyen elkötelezettséget, és alkalmazhatja új fiókokban vagy akár tárhelyeken.

Diókat vezet, hogy soha nem tudom pontosan, hogy Github mikor törje meg az egysoros leírásaimat, amikor úgy tűnik, hogy bőven van hely a karakterek megjelenítésére. Mint ez Linus-tól:

Ez egyúttal egyszerűbb, és elősegíti a kevésbé összevissza megfogalmazást.

Közvetlen, tömör, következetes és inkább aktív, mint passzív hang. Továbbá nem mindenki, aki az üzeneteket írja vagy olvassa, nem lesz angol anyanyelvű. A múlt idejű alakok elkerülése csak megkönnyíti.

"írja le az elengedhetetlen hangulat változását, pl." tegye az xyzzy do frotz-t "helyett a" [[Ez a javítás] az xyzzy-t teszi a frotz-ig "vagy" [[én] megváltoztattam az xyzzy-t a frotz-hoz ", mintha a kódbázisra utasítást adna annak megváltoztatására) viselkedés."

Linus nem habozik kritizálni, és mindig gondolkodni a dolgokon, mielőtt menőnek nyilvánítaná őket.

Ó, hibákat követ el, mint mindenki. Általában nem mindig nagyon kedves az üzenetekben (olvassa el az LKML-t, és meg fogja érteni). De általában igaza van, és általában nem véletlenszerű dolgokat ír, mert "divatos".

Tehát a GitHub divatos. Linus nem érdekli. Linus törődik a jó tulajdonságokkal, és a húzás nem tartozik közéjük. Aztán megint azt gondolom, hogy igaza van. A GitHub behúzása gagyi.

De ami hiányzik az üzenetéből, az az ok miért gagyi a GitHub húzás. Biztos vagyok benne, hogy tudja, de fél szót használ. Itt van az oka:

Ha a GitHub végrehajtotta a megfelelő pull üzeneteket, akkor az EMBEREK NEM HASZNÁLNAK. Miért? Mert a villa és a húzás könnyedsége teszi sikeressé a GitHub-ot. Tehát látja, a húzásoknak lenniük kell HALOTT KÖNNYEN. És ez azt is jelenti, hogy "egyetlen szövegmező, semmilyen kényszerítés nincs".

Szóval igen. A GitHub nem fogja kijavítani, mert rossz lesz a vállalkozásuk számára.

Linus jelenlegi munkafolyamatával (e-mailen keresztüli kérések) továbbra is tökéletesen lehetséges egy szörnyen felépített lekérési kérelem, ezért olyan szabályokat adtak hozzá, amelyek meghaladják a technológia azon képességét, hogy miként kell formázni a pull kéréseket. Nem értem, miért nem lehet ugyanazokat a szabályokat alkalmazni a GitHubra.

Linus feltalált Git, és tökéletesen lehetséges, hogy egyetlen karakter üzeneteket küldjön a Gitben. Nem vagyok teljesen biztos abban, hogy miért nem sikerült a GitHubnak, hogy hasonlóan laza megközelítést alkalmaz a pull-kérések kezelésével kapcsolatban.

Nem hiszem. Olvassa el a tomayko megjegyzést az eredeti szálban: A GitHub a Pull kérésekkel nyugtázta a problémát.

Még ha igazad is lenne, a GitHub hozzáadhat egy módot arra, hogy egy projekt elkészítse saját (kényszerített) szabályait.

Szeretem ezt a semmitmondó stílust, de hadd mondjam el, hogy ez nem csak a stílus, hanem az, hogy Linusnak van annyi az oldalán, hogy alátámassza.

Mindig figyelünk a visszajelzésekre, és azon dolgozunk, hogy javítsuk a felhasználói élményt. Kár, hogy az ehhez hasonló hasznos visszacsatolások mégis újabb drámai epizódokká válnak.

/ idővonal, amely minden tevékenységet mutat (vállalások, megjegyzések, húzási kérelmek, problémák stb.)

Bármelyik funkció Github verzióját bármikor átvenném a hivatalos git verzióval szemben, bármikor eltérhetnek egymástól - a Git közismerten felhasználó-ellenséges szoftver-interfész-felület, és nagyjából az egyetlen dolog, amire megy a használhatóság frontja a Github.

Vicces, hogy ezt mondod, mert a Git az egyetlen verziókezelő rendszer, ahol az ágakkal, a villákkal és az összevonásokkal végzett munka nagy projektekben nemcsak megvalósítható, de az esetek 90% -ában is fájdalommentes. Nem igazán tudja értékelni a Gitet, amíg nem próbálta meg elvégezni ugyanazokat a feladatokat a Perforce, az SVN és a CVS szolgáltatásokban. Egyetlen hasonló szoftver sem alkalmazza ugyanolyan fájdalommentesen az elágazást és az egyesítést, még más elosztott rendszerek sem.

Ezenkívül a kezelőfelülete ellenséges, mert megköveteli, hogy a felhasználó megértsen egy kicsit a belső részeiről. Lehet, hogy nem ért egyet azzal, hogy ez jó design, azonban soha nem látott irányítást biztosít a tárház felett, amire gyakran szüksége van, amikor a szar eltalálja a ventilátort. Ezenkívül a Git rohadtul gyors és hatékony. Hasonlóan a C-hez, az ízléssel készített felülethez, de ez nem vonzza a gyenge szívűeket. És az a tény, hogy az olyan projekteket, mint a Linux, fenntartják a Git-tel, amelyek nagyszámú közreműködővel rendelkeznek, ez igaz bizonyíték Git félelmességére.

És figyelembe véve a BTW-t, figyelembe véve, hogy a verziókezelés az egyik legfontosabb eszköz az Ön rendelkezésére, ha nem is a legfontosabb a nagy csapatokban, hagyja abba az SVN 2 Git oktatóanyagok olvasását, és olvassa el a furcsa kézikönyvet. Megéri, mert csodálkozna azon, hogy mekkora ereje van a motorháztető alatt.

Nem értek egyet a második állítással, és az első nem magyarázza el, hogy így van. Mi ebben az ízléses:

Nem - hasznos lehet, gyors lehet, hatékony lehet. De az interfész teljesen beszippant, és nagyon következetlen mind a parancsok, mind az egyes parancsok felelőssége között.

Ezzel törli a távoli adattárra való hivatkozást. A különbség a Git és az SVN között itt az, hogy a Gitben lehet többszörös távoli adattárak, amelyekkel kommunikálhat.

Ez jól jön, ha több embernél húzza és tolja. Képzelje el, hogy cseréljen kódot ön és munkatársai között, kísérleteket végezzen, kódokat nézzen át stb. Ez akkor is jól jön, ha Heroku-val van dolga, vagy ha van egy "nyílt forráskódú" magja, amely a GitHub-ra tolódik, és egy másik fiók, saját tulajdonú kiegészítésekkel, amelyeket máshova tol.

Ezeknek az adattár hivatkozásoknak a kezelésére szolgáló összes parancs a "git remote" -al kezdődik, és hogy megtudja, hogyan lehet velük valamit csinálni, egyszerűen csak "man git-remote" -ot kell tennie.

Ez törli a helyi fiókot. Semmi köze a fentiekhez. Nem használja az "rm" szót, mert ez lehet az ág neve, és ez a parancs erősen túlterhelt.

Ezzel töröl egy címkét. Összhangban van a fenti paranccsal, mivel a "git elágazás -d" (D kisbetű) is támogatott, de a D nagybetű azt jelenti, hogy a törlés kényszerű, még akkor is, ha az elágazást nem egyesítették. Ismét nem használtuk az "rm" szót, mivel ez összetéveszthető egy címke nevével.

Töröl egy fájlt, de nem kell használnia. Ha biztos benne a szerkesztési képességeiben, akkor egyszerűen elvégezheti az összes törlést a "git kötelezettség -a." Paranccsal. A git is elég okos lesz egy fájl átnevezésének észleléséhez, annak ellenére, hogy törlést + kiegészítést hajtott végre.

Az "rm" annak a parancsnak a neve is, amely ugyanazt a műveletet hajtja végre a Unixban, a fájlok eltávolításával társítva.

Mint mondtam, a "git remote" kezeli a távoli adattárakra való hivatkozásokat. Ez csak átnevezi a "régi" nevű hivatkozást "új" -ra.

Mondhatnánk, hogy "mv" -t kellett volna használniuk, mint például a "git mv" esetében, azonban ez nem egy "move" parancs. Ez egyszerűen átnevezés.

Ez átnevezi a "régi" nevű helyi fiókot "új" -ra. Valóban inkonzisztens a többiekkel, de ez azért van, mert a "git branch" segédprogram nagyon túlterhelt. Ez a parancs időről időre összezavar.

Csakúgy, mint a "git rm" esetében, ez a parancs is "mv" -et hajt végre, miközben a műveletet Git-ben regisztrálja. Ez nem szükséges, ha "git add. && git elkövet -a -t" csinálod.

Az "mv" -nek itt van értelme, mivel ez a fájlok mozgatásához szükséges Unix parancs neve.

És egy utolsó tipp kezdőknek: használja a "man" oldalakat. A terminál bemenetében az alábbi parancsok bármelyikét kérheti, ha segítségre van szüksége .

Az én állításom inkonzisztenciákról szólt, nem pedig arról, hogy nem tudnám kitalálni, melyik parancs mit tett.

Nem biztos, hogy megoldódtak.

Valószínűleg igaz, de amikor kétszer megváltoztatta a technológiai világot, 40 éves kora előtt az emberek hajlamosak további lazaságra.

Akkor valószínűleg nem használtál SCCS-t git előtt. Mivel a CVS még csúnyább, a Bitkeeper az oka annak, hogy Linus git-t írt, és minden más, amit megpróbáltam, inkább "felhasználó-ellenséges" volt, mint git.

> nagyjából az egyetlen dolog, ami a használhatósági fronton érte, a Github.

Úgy hangzol, mint egy Visual Basic programozó, aki most látta először a C-t.