Skip to content
Permalink
Branch: master
Commits on Jul 7, 2019
  1. Add gitstatus as a submodule dependency

    dorian-marchal committed Jul 7, 2019
    Use a fork instead of upstream to avoid this to break if the repo is
    deleted.
    Upstream is https://github.com/romkatv/gitstatus
  2. Add faster implementation of __git_ps1

    dorian-marchal committed Jul 7, 2019
    When gitstatus is enabled, __git_ps1 can be replaced with a faster
    implementation, reusing branch, tag and commit information from env vars
    generated by `gitstatus`.
  3. alias: Add -m to rb alias

    dorian-marchal committed Jul 7, 2019
    I use --keep-empty option during rebases because I sometime create empty
    "squash!" commit to rename a previous one without touching the history
    right away.. Without this option, git drops these commits during rebase.
    
    Unfortunately, if a conflict occurs during a non-interactive rebase with the
    --keep-empty option, the repo is left in a "non standard" rebase state:
    the .git/REBASE_HEAD is replaced with a .git/CHERRY_PICK_BASE, meaning
    `git rebase --abort` will not work.
    Adding the -m option fixes it.
    
    Interactive rebases imply the -m option, so there is no need to add it
    to `rbi` alias.
  4. alias: Remove --keep-empty option from regular rebase

    dorian-marchal committed Jul 7, 2019
    I use --keep-empty option during rebases because I sometime create empty
    "squash!" commit to rename a previous one without touching the history
    right away.. Without this option, git drops these commits during rebase.
    
    Unfortunately, if a conflict occurs during a non-interactive rebase with the
    --keep-empty option, the repo is left in a "non standard" rebase state:
    the .git/REBASE_HEAD is replaced with a .git/CHERRY_PICK_BASE, meaning
    `git rebase --abort` will not work.
    This can be hard to debug, so I prefer to drop it.
    
    Strangely, this doesn't happen during interactive rebases, so I keep
    this option for `rbi` alias.
Commits on Jul 6, 2019
  1. Rename bash prompt

    dorian-marchal committed Jul 6, 2019
    It now looks nothing like the original "ultimate git ps1 bash prompt"
    from mediadoneright.
  2. prompt: Make it fast!

    dorian-marchal committed Jul 5, 2019
    - Adds support for `romkatv/gitstatus` [0] which is a lot faster than
      git's own status command (and don't need its output to be parsed).
      When not available, it fallbacks on standard `git status`.
      `romkatv/gitstatus` can also be disabled manually with the env var
      _DISABLE_GITSTATUS=true.
    
    - Removes uneeded usage of sed which is pretty slow.
    
    - Replaces function outputs with global variables to avoid the cost of
      getting function result with the slower `var=$(my_function "param")`.
    
    - Uses `command -v node` to known if node is available to avoid a
      performance hit when it is unavailable (if you known why, tell me).
    
    Also, adds a debug mode (enabled with _PROMPT_DEBUG=true env var).
    
    [0]: https://github.com/romkatv/gitstatus
Commits on Jul 5, 2019
Commits on Jul 4, 2019
  1. Make path thiner

    dorian-marchal committed Jul 4, 2019
  2. Add unmerged files to git prompt

    dorian-marchal committed Jul 4, 2019
    Also, fixes temporary commit detection in newly created git repos.
  3. Change tmp commit indicator style

    dorian-marchal committed Jul 4, 2019
    Also, adds a oneliner to show terminal colors
  4. Make prompt faster

    dorian-marchal committed Jul 4, 2019
  5. prompt: Refactoring

    dorian-marchal committed Jul 4, 2019
  6. Add node version

    dorian-marchal committed Jul 4, 2019
Commits on Jul 3, 2019
You can’t perform that action at this time.