जब मेरा CWD एक दूरस्थ फाइल सिस्टम पर है, तो मैं zsh के संस्करण नियंत्रण एकीकरण को कैसे चुन सकता हूं?


16

मैं OSX पर zsh चला रहा हूं और मौके पर मुझे माउंटेड sshfs वॉल्यूम पर काम करना है। हालांकि, git वास्तव में sshfs माउंट पर धीमा है। मेरा संकेत vc मोड सामान का उपयोग करता है जो zsh में निर्मित प्रदान करता है, लेकिन इस मामले में मैं उस हिस्से को छोड़ना चाहता हूं।

मैं किसी भी समय अपने cWD एक घुड़सवार फाइल सिस्टम पर चुनिंदा vc एकीकरण को निष्क्रिय करना चाहूंगा। मैं उसे कैसे कर सकता हूँ?

वर्तमान में मैं अपने शीघ्र उपयोग की स्थिति में git जानकारी को सक्षम कर रहा हूं (मोटे तौर पर) मेरे .zshrc (अच्छी तरह से, .oh-my-zsh / themes) के इस स्निपेट का, लेकिन आपको यह विचार मिल गया है):

zstyle ':vcs_info:*' enable hg git bzr svn p4

zstyle ':vcs_info:(hg*|git*):*' get-revision true
zstyle ':vcs_info:(hg*|git*):*' check-for-changes true

# rev+changes branch misc
zstyle ':vcs_info:hg*' formats "[%i%u %b%m]"
zstyle ':vcs_info:hg*' actionformats "(%{$fg_bold[red]%}%a%{$reset_color%})[%i%u %b%m]"

# hash changes branch misc
zstyle ':vcs_info:git*' formats "[%{$fg[yellow]%}%12.12i%{$reset_color%} %u %{$fg[magenta]%}%b%{$reset_color%}%m]"
zstyle ':vcs_info:git*' actionformats "(%a)[%{$fg[yellow]%}%12.12i%{$reset_color%} %u %{$fg[magenta]%}%b%{$reset_color%}%m]"

zstyle ':vcs_info:git*+set-message:*' hooks git-st git-stash

zstyle ':vcs_info:hg*:netbeans' use-simple true

zstyle ':vcs_info:hg*:*' get-bookmarks true

zstyle ':vcs_info:hg*:*' get-mq true
zstyle ':vcs_info:hg*:*' get-unapplied true
zstyle ':vcs_info:hg*:*' patch-format " mq(%g):%{$fg[green]%}%n%{$reset_color%}/%{$fg_bold[blue]%}%c%{$reset_color%} %{$fg[green]%}%p%{$reset_color%}"
zstyle ':vcs_info:hg*:*' nopatch-format ""

zstyle ':vcs_info:hg*:*' unstagedstr " ?"
zstyle ':vcs_info:hg*:*' hgrevformat "%{$fg[yellow]%}%r%{$reset_color%}" # only show local rev.
zstyle ':vcs_info:hg*:*' branchformat "%{$fg[magenta]%}%b%{$reset_color%}" # only show branch

# Show remote ref name and number of commits ahead-of or behind
function +vi-git-st() {
    local ahead behind remote
    local -a gitstatus

    # Are we on a remote-tracking branch?
    remote=${$(git rev-parse --verify ${hook_com[branch]}@{upstream} \
        --symbolic-full-name 2>/dev/null)/refs\/remotes\/}

    if [[ -n ${remote} ]] ; then
        # for git prior to 1.7
        # ahead=$(git rev-list origin/${hook_com[branch]}..HEAD | wc -l)
        ahead=$(git rev-list ${hook_com[branch]}@{upstream}..HEAD 2>/dev/null | wc -l | tr -s ' ')
        (( $ahead )) && gitstatus+=( " ${c3}+${ahead}${c2}" )

        # for git prior to 1.7
        # behind=$(git rev-list HEAD..origin/${hook_com[branch]} | wc -l)
        behind=$(git rev-list HEAD..${hook_com[branch]}@{upstream} 2>/dev/null | wc -l | tr -s ' ')
        (( $behind )) && gitstatus+=( " ${c4}-${behind}${c2}" )

        hook_com[branch]="${hook_com[branch]} [${remote}${(j:/:)gitstatus}]"
    fi
}

# Show count of stashed changes
function +vi-git-stash() {
    local -a stashes

    if [[ -s ${hook_com[base]}/.git/refs/stash ]] ; then
        stashes=$(git stash list 2>/dev/null | wc -l)
        hook_com[misc]+=" (${stashes} stashed)"
    fi
}

precmd () { vcs_info }
PROMPT='
%{$(get_prompt_user_color)%}%n%{$reset_color%} at %{$(get_prompt_host_color)%}%m%{$reset_color%} in %{$fg_bold[green]%}%~%{$reset_color%} ${vcs_info_msg_0_}
$(virtualenv_info)$(prompt_char) '


नहीं, यह पूरा नहीं है कि एक मुद्दा है
क्रिस आर।

ठीक है, "rtfm" उत्तर के लिए क्षमा करें ... मैनुअल की धारा 26.4 देखें ... यह मदद करनी चाहिए ... zsh.sourceforge.net/Doc/Release/…
जो इंटरनेट

क्या आप संबंधित zshrc अनुभागों को जोड़ सकते हैं जिन्हें आपने इसे सक्षम करने के लिए उपयोग किया था?
बहुपद

जवाबों:


9

संस्करण-नियंत्रण-सूचना पर एक नज़र डालें

'अक्षम-प्रतिमान' (लगभग 20% नीचे पृष्ठ) पर अनुभाग खोजें ।
मान लें कि आपके दूरस्थ आरोह तय हो गए हैं, या अपेक्षाकृत निश्चित हैं, /mnt/remote/*या आप उन सभी को सूचीबद्ध कर सकते हैं, तो आपको उनके लिए एक रेगेक्स के साथ आने में सक्षम होना चाहिए।

लिंक पर उदाहरण इसके माध्यम से अक्षम कर vcs_infoरहा है ~/.zsh/:

zstyle ':vcs_info:*' disable-patterns "$HOME/.zsh(|/*)"

मुझे लगता है कि आप zshrc या समकक्ष (क्षमा करें - bash उपयोगकर्ता) का पता लगा सकते हैं जो स्टार्टअप पर दूरस्थ हैं (या समय-समय पर, या ...) और zstyleतदनुसार अद्यतन करें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.