- bAndie9100 blogja
- A hozzászóláshoz be kell jelentkezni
- 844 megtekintés
Hozzászólások
A parancsoknak is maradd hely? :)
-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…
- A hozzászóláshoz be kell jelentkezni
Én fisht, meg budspencer theme-t használok, ott az elég fajás, hogy esc után a space váltogatja, hogy mennyire beszédesek az ilyen vackok.
- A hozzászóláshoz be kell jelentkezni
ennél nem állítható a beszédesség, leszámítva a GIT_PROMPT_SHOW_IGNORED és a GIT_PROMPT_COUNT_LINES változókat.
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
csak ötletként dobtam be, az szerintem elég jó (mondjuk nem git specifikus, minden mással is ezt csinálja, a legjobban a rövidített pathoknál látszik)
- A hozzászóláshoz be kell jelentkezni
jó kérdés!
a képek nem mutatják, de az "igazi " prompt a git prompt alatt van, tehát két sorba töri a promptot.
így ugyanannyi hely van a parancs szerkesztésére mint nélküle :)
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Én a bash-git-prompttal is elvagyok, erősen személyre szabott konfiggal. A személyre szabás oka részben az, hogy ugyanazokat a unicode karaktereket tudjam használni Linuxon és Windowson.
- A hozzászóláshoz be kell jelentkezni
Pontosan hogyan szabtad személyre?
-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…
- A hozzászóláshoz be kell jelentkezni
~/.git-prompt-colors.sh
Minden más ugyanaz, ahogy a README-ben le van írva.
Annyi megjegyzés, hogy a GIT_PROMPT_SYMBOLS_AHEAD és GIT_PROMPT_SYMBOLS_BEHIND felülírása hivatalosan nem támogatott, a screenshotokon az example kimenetbe egy picit bele is kellett nyúlnom, mert erre az nincs felkészítve.
- A hozzászóláshoz be kell jelentkezni
.
- A hozzászóláshoz be kell jelentkezni
/off
nincs a gitnek valami library modja amit tudsz hasznalni egy !bash scriptben? egy "szaros" prompt kiirashoz miert kell meghivni 12szer a git-et?
persze ertem en hogy van 43242G ram, meg 853 processzor, szal' kinemszarjale. de azert megis... :(
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
"nincs a gitnek valami library modja amit tudsz hasznalni egy !bash scriptben?"
A gitnek magának nincs, de vannak más projektek is. Van pl. pure python implementáció, bár nem tudom mennyire használható.
"egy "szaros" prompt kiirashoz miert kell meghivni 12szer a git-et?"
Ha az értékes képernyőterületet ennyi felesleges információ kijelzésére akarod vesztegetni, amire kb. szökőévente egyszer van szükség, akkor az ezzel jár :)
Mindenesetre kb. 5-6 git hívást viszonylag egyszerűen el lehetne kerülni.
- A hozzászóláshoz be kell jelentkezni
Amúgy szerintem is igazad van. Jó ez a prompt, de ízlések és pofonok: nekem túl bőbeszédű. Olyan dolgokat is megmutat, amire ritkán van szükség, akkor pedig inkább célirányosan kiadok rá egy parancsot.
Nekem ennyi:
export GIT_PS1_SHOWDIRTYSTATE=true
export GIT_PS1_SHOWSTASHSTATE=true
export GIT_PS1_SHOWUNTRACKEDFILES=true
export PROMPT_DIRTRIM=2
# colored prompt
USER=`whoami`
if [ $LOGNAME = $USER ] ; then
USERCOLOR=32 # green
else
USERCOLOR=33 # yellow
fi
if [ $USER = 'root' ] ; then
USERCOLOR=31 # red
fi
export PS1='\[\033[$USERCOLOR;1m\]\u\[\033[37;1m\]@\[\033[36;1m\]\h\[\033[35;1m\]-\A-\[\033[37;1m\]\w\[\033[37;0m\]\[\033[31m\]$(__git_ps1)\[\033[00m\]\$ '
export PS2='\033[31;1m-\033[33;1m>\033[37;0m '
Ebben nem csak a git van, viszont sosem éreztem szükségét annak, hogy ennél többet belezsúfoljak, pláne ha cserébe a beírt parancsoknak alig marad hely.
-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…
- A hozzászóláshoz be kell jelentkezni
"ízlések és pofonok: nekem túl bőbeszédű."
És milyen rikítóan színes! :)
"USER=`whoami`"
Hm, a $USER-ben nem már eleve annak kellene lennie, amit a whoami kiír?
"a beírt parancsoknak alig marad hely"
Ez egy kétsoros prompt, vagyis a csilivili egy sorral afelett van, ahova a parancsokat írnád.
- A hozzászóláshoz be kell jelentkezni
„Hm, a $USER-ben nem már eleve annak kellene lennie, amit a whoami kiír?”
Látod, ezt kipróbálom. Igazából ezt a promptot pár éve összeraktam és azóta hurcolom magammal változtatás nélkül. :)
-----
„Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben.”
rand() a lelke mindennek! :)
Szerinted…
- A hozzászóláshoz be kell jelentkezni
jogos felvetés és én is nagyon fájlalom ha valaki erõforráspazarlóan bánik még ilyen viszonylag kis volumenũ programoknál.
a megirása elején reménykedtem abban, hogy van valami `git info --machine-parsable` szerũ modul, amivel mindent egyszerre le tudok kérni, de nem találtam.
egyébként igyekeztem, ahol lehet, sima fájlolvasással elintézni az infólekérést, de még így is van mit optimalizálni rajta.
a fetch-elés úgy ahogy van ki is hagytam belõle, legalább a network resource-öket nem pazarolja.
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
-
- A hozzászóláshoz be kell jelentkezni
Szerintem ez a prompt nem működik megfelelően egy
git gc
után, lásd
git help pack-refs
, vagy ha több worktree-d is van.
- A hozzászóláshoz be kell jelentkezni
látom már. egyedi fájlokból összegyűjti egy fájlba a branch- és tagreferenciákat.
akkor greppelés helyett hívhatok erre is git parancsot.
nesze neked, optimalizálás :)
több worktree alatt mit értesz?
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
"akkor greppelés helyett hívhatok erre is git parancsot.
nesze neked, optimalizálás :)"
Egyrészt a ref-ek számától függ, ha sok van belőlük, akkor tényleg a packed-refs a gyorsabb.
Másrészt ott a
for-each-ref
, az egy parancsból megmondja az adott commitra mutató branch-eket és tag-eket, és megfelelő format stringgel meghívva csak minimálisan több shell kód kell körítésnek, további külső processzek nélkül.
"több worktree alatt mit értesz?"
Egy új, egyelőre kísérleti feature/parancs, amivel egy repository-ból több worktree-t is ki lehet check-elni, így elvileg pl. egyik worktree-ben fejleszthetsz, míg a másikban szorgosan dolgozhat a
git bisect run
, meg ilyesmi. A lényeg, ami miatt ide kapcsolódik, hogy a refs hierarchia több helyről áll össze (a repository ref-jei + a worktree helyi re-jei), ezért még egy ok, ami miatt nem elég csak a .../.git/refs/ könyvtár tartalmát nézni.
- A hozzászóláshoz be kell jelentkezni
kösz, a packed refs issuet javitottam. 0f0af90
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Hát végülis így is lehet, de nem vagyok lenyűgözve :)
git for-each-ref --points-at=$hash --format='%(objecttype) %(refname:strip=2)' refs/heads refs/tags | while read type name ; do ...
és nem kell grep-pel szűrni, nem kell a prefixet eltávolítani, és az objektum típusa alapján hozzá lehet adni a megfelelő $tags vagy $branches változóhoz.
- A hozzászóláshoz be kell jelentkezni
ezt a for-each-ref -et már láttam de nem gondoltam rá. jó csel!
de sajnos git 1.7-ben nincs --points-at opció.
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
v1.7? Hát az se tegnap volt, hanem 5-7 évvel ezelőtt. Miért kell ragaszkodni hozzá?
- A hozzászóláshoz be kell jelentkezni