1
0
Fork 0
mirror of synced 2024-11-26 17:25:35 -05:00
Commit graph

43 commits

Author SHA1 Message Date
Eric Nielsen
accabdb18b Scope local variable in anonymous function
so it does not leek into the shell.

Copied from zimfw/git@fea95a7655
2019-06-01 00:08:28 -05:00
Eric Nielsen
507f5d58e0 Update log formats
Use fuller format with committer info instead of medium format, as that
is more complete, and info for author and committer seems to fit in one
line each.

Fix one-line medium format so it truncates the subject at 50, instead of
at the fixed column 60, as that was not good to graph logs.

Remove `--all` from graph log aliases, to increase their flexibility.
We're then able to use it just for the current or for a branch passed
as parameter (as we already could with the other log aliases).

Copied from zimfw/git@63008c817e
2019-06-01 00:07:59 -05:00
Oskar Grunning
dc6ef566af [git] Add aliases for merge sign and verify
Adds the following aliases:
  - gmS: GPG-sign the resulting merge commit.
  - gmV: Verify that the tip commit of the side branch being merged is
  signed with a valid key, i.e. a key that has a valid uid: in the
  default trust model, this means the signing key has been signed by a
  trusted key. If the tip commit of the side branch is not signed with a
  valid key, the merge is aborted.

Closes #333
2019-03-22 08:35:42 -05:00
Eric Nielsen
d2c1e613ae [git] Allow aliases prefix to be something else than g
There were a couple of reports before about aliases shadowing commands
in #59 and #139. And I was impressed to check how many actually shadow existing commands using Ubuntu's command-not-found:

    'gb'  : apt install gb
    'gc'  : apt install graphviz
    'gcp' : apt install gcp
    'gcs' : apt install opengcs
    'gcv' : apt install scotch
    'gdc' : apt install gdc
    'gfm' : apt install gfm
    'gid' : apt install id-utils
    'gld' : apt install postfix-gld
    'gm'  : apt install graphicsmagick
    'gmt' : apt install gmt
    'gp'  : apt install pari-gp
    'gpa' : apt install gpa
    'gpp' : apt install gpp
    'gpt' : apt install gpt
    'grc' : apt install grc
    'gri' : apt install gri
    'gs'  : apt install ghostscript
    'gsl' : apt install generator-scripting-language
    'gss' : apt install libgss-dev
    'gt'  : apt install genometools
    'gtv' : apt install smpeg-gtv
    'gwc' : apt install geneweb
    'gwd' : apt install geneweb

The ability to customize the prefix fixes this issue. Picking `G` for
example is a good one (Vim's Fugitive uses upper case `G` in the
beginning of is commands, to mention another place where it's used).

Closes zimfw/git#1

Copied from zimfw/git@b2a2ffbd31
2019-03-22 08:15:11 -05:00
Eric Nielsen
38b3b9517e [git] Add glr alias for git reflog
and change the commit format to bold yellow, since that's the default
git log format for the commit when colored.

Closes #334

Copied from zimfw/git@013c9d9bf3
2019-03-22 08:12:53 -05:00
Eric Nielsen
7ccdcf35ee [git] Add missing items in README.md
namely, the `gfu` alias, the `git-branch-delete-interactive` function,
and a couple of commands that are shadowed.

Command `gm` was reported in #59, and `grc` was reported in #139.
2018-12-13 14:47:25 -05:00
Ezinwa Okpoechi
7dfd617497 [git] Make gpf alias safer
Fixes #303. Closes #304.

As a reference,
https://github.com/k88hudson/git-flight-rules/blob/master/README.md#i-want-to-delete-or-remove-my-last-commit
also recommends using --force-with-lease.
2018-11-20 18:45:03 -05:00
Eric Nielsen
d259e19dd8 Don't need to use array[@] ouside double quotes
In  double  quotes,  array  elements  are put into separate words when
using `"${(@)array}"` or `"${array[@]}"`. See zshexpn(1).

Also according to the Zsh documentation, these forms preserve empty
elements of the array.
2018-11-19 19:43:21 -05:00
Eric Nielsen
b7cb8d81c0 Update module README.md 2018-05-14 19:09:11 -05:00
Eric Nielsen
f11bb607c5 [git] Update git-branch-delete-interactive
so we don't suggest deleting remote branches when `git rev-parse`
failed. For example, it could fail if a remote tracking branch is gone.
2018-04-25 19:20:51 -05:00
Eric Nielsen
d371d80af2
Unify the for syntax
For short single commands, prefer a one-liner `for` with the zsh syntax:
```
for x (foo bar) print ${x}
```
Otherwise just place `; do` on the same line as the POSIX `for ... in`:
```
for x in foo bar; do
  print ${x}
done
```

Closes #268
2018-04-25 08:59:19 -05:00
Eric Nielsen
8655867ca2 [git] Add completion for gbx and gbX
that use the git-branch-delete-interactive function.

Thanks to @Mikachu for helping with the completion function
implementation over the #zsh chat.

Closes #265
2018-04-13 15:13:43 -05:00
Eric Nielsen
468f99adfe [git] Remove extra line break from graph logs
so we have more vertical space for the actual log entries, instead of
having each one separated by a line just with graph lines. Also, this is
the default layout already, see `git log --graph --oneline` for example.
2018-04-09 12:07:37 -05:00
Eric Nielsen
20f16e4df3 [git] Remove glb alias and add glO
as there's actually no "brief" format originally in git (by "originally"
I mean the ones listed for `--format=<format>` in `man git-log`).
Also, we already fit in `glG` all the information that `glb` had.
So add `glO`, that is a one-line variant of `glG`.
Now we get nice symmetrical formats in `glg`/`glG` and in `glo`/`glO`.
2018-02-23 09:30:50 +01:00
Eric Nielsen
926627652f [git] Breaking changes in aliases and functions
Rename `gpS` (mnemonic "pretty-signature") and `glS` ("log-signature")
to `gcv` ("commit-verify") and `glv` ("log-verify") respectivelly,
so `v` is used to verify signatures, and `s`/`S` is used to sign.

Remove `git-commit-lost` and `git-stash-dropped`, as this could be
probably joined into one function that shows all lost commits, including
lost stashes, and also because there seems to be many different ways to
do this, as discussed in https://stackoverflow.com/q/89332/2654518.
An answer worth noting is https://stackoverflow.com/a/6455586/2654518.
If someone is using this, let's discuss on a new solution...

Remove Oh-My-Zsh compatibility from `git-branch-current`, and delete
`git_current_branch`. This compatibility was already partially broken at
c1b02c0, when we also updated the gitster prompt theme. Now this
function fails when in 'detached HEAD' state (is was returning the
commit hash in this state), which is what we would expect from the use
we make of it.

Closes #244
2018-02-23 09:28:10 +01:00
Oskar Grunning
6465970530 [git] Repair gCl alias
The no-pager option should be set on `git` and not `git diff`.

Closes #246
2018-02-15 18:44:13 +01:00
Eric Nielsen
451e51bd88 [git] Add git-branch-delete-interactive
that prompts if upstream remote branch(es) should be deleted too. As
with `git branch`, the function supports multiple branches as params,
and also the `-r`/`--remotes` param. Update `gbx` and `gbX` to use this
function.

Also update `git-stash-clear-interactive` to have multiple tests instead
of multiple nested `if`/`then`/`fi`. (Simpler syntax, IMHO)
2018-02-05 10:44:59 -05:00
Eric Nielsen
fd9274ea91 [git] Show upstream branch name in gbl and gbL
being more verbose when listing branches.
2018-01-22 17:25:51 -05:00
Eric Nielsen
c501a1b64c [git] Review aliases and README.md
This complements the changes done in the last commit, and also fixes the
`glg` output, and removes the now unnecessary `--date=relative`
parameter from `glG`.

Although I insisted on the `--long-option` format on 8669a4f, I think
`rm -rf` is pretty common and recognizable, so revert to that.

Add missing aliases to README.md, and improve description of existing
ones. The main improvement is trying to be more concise, so instead of
repeating "records changes to the repository" multiple times, simply say
"commits", for example. Also try to use words that match the alias
letters, so for "gcs" say "shows" instead of "displays", for example.
2018-01-11 11:30:20 -05:00
Eric Nielsen
0a7451999e [git] Review all functions but ones using git fsck
as there are multiple solutions to list the lost commits and stashes,
but I could not find reliable ones. See
https://stackoverflow.com/q/89332/2654518.
Well, the current `git-commit-lost` and `git-stash-dropped`
implementations don't accurately work at least on the repositories I'm
working with.

The `git-hub` functions where removed at dcc3265, but aliases and docs
remained. Remove these.

Remove line break from `_git_log_oneline_format`, so it really occupies
one line. And change date format in `glG` output from committer date
(`%cd`) to relative author date (`%ar`) to conform with other formats.

Refactor remaining functions. Most of the changes refer to using the
already existing git error messages and return codes, instead of having
code that creates that. (Error messages for 'not in a git repository'
where not even consistent among functions, and there's were I started
this...)
The most drastic changes can be seen in `git-root`, then in `git-dir`
and `git-stash-clear-interactive`.
2018-01-10 10:25:25 -05:00
Eric Nielsen
20c3f79743 [git] Change colour blue to bold blue
Since some terminal colour schemes have a too dark blue color that does
not go well with a black background. And since some people actually use
such colour schemes!  :- )

Fixes #228
2017-12-01 17:23:34 -05:00
Wellington Mendoza
f6304a06cc [git] Update log colour scheme
Use yellow commit hash, cyan author, blue date, and auto ref names

Closes #228
2017-11-29 10:33:03 -05:00
Eric Nielsen
a9618a0fd3 [git] Use fetch --all in gfu alias
instead of `remote update`. Both behave the same way, fetching from all
configured remotes. The `fetch --all` is shorter, and probably more
familiar. See https://stackoverflow.com/a/17512004/2654518

Also change `;` to `&&`, so merge is only called after fetch succeeded.

Closes #196
2017-07-30 17:35:44 -05:00
Eric Nielsen
8669a4f369 [git] Commit messages with 50 characters in glG
truncating at character 60. First 10 chars are used for `*`, commit
hash and spaces.

The 50 char limit is based on
http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html

Also changed aliases to use the `--long-option` format when available,
so aliases are clearer for those unfamiliar with the options.

Closes #196
2017-07-30 17:35:44 -05:00
Eric Nielsen
9de30b97b1 Remove is-true function
that was only being used in the `git` and `git-info` modules to check
the output of `git rev-parse --is-inside-work-tree`. The code depending
on this function was already changed.

Closes #163
2017-04-11 17:50:09 -07:00
Eric Nielsen
b34a75e4d8 Remove git dependency on is-true function
The function is currently only being used for checking the result of
`git rev-parse --is-inside-work-tree`. Checking for the return code of
the command is enough.
2017-04-11 17:50:07 -07:00
Sebastian S
449634a99e git-commit-list: fix typo
command is written with two m, not three.

Closes #156
2017-03-29 12:57:05 -07:00
Eric Nielsen
c7b2232378 Inline is-true function body, as other functions
defined in Zim. Instead of creating an additional `is-true() { }`
function scope.

Closes #148
2017-03-27 13:56:45 -07:00
Eric Nielsen
c1b02c06d0 Remove git_prompt_info and parse_git_dirty
as they were only being used by gitster prompt theme and kept for
Oh-My-Zsh compatibility. The newly introduced git-info module (inspired
by the git-info Prezto function) provides a more powerful
implementation than the Oh-My-Zsh inspired git_prompt_info.

Updated gitster to use the git-info module.

Closes #124
2017-01-19 05:10:19 -08:00
Matt Hamilton
b1d5c00d5f [git] fix 'ggL' alias typo
Credit to @toogley for discovering the typo here:
https://github.com/sorin-ionescu/prezto/pull/1157

Since zim and prezto share the same git aliases, it is applicable here
as well.
2016-09-28 04:32:23 -07:00
Igor Zibarev
3c0e49a770 [git] add aliases: stash unapply and full graph
Added git aliases:
- "gsu": Stash unapply to revert applied changes
- "glG": Full graph (like glg but with author and date)

Closes #53
2016-05-14 15:26:03 -07:00
Igor Zibarev
41b9b416a6 [git] fix "git rebase --continue" alias
Renamed "git rebase --continue" alias from "grr" to "grc"
corresponding to README.md of git module.

Closes #53
2016-05-14 15:25:54 -07:00
Matt Hamilton
0c1aa6e133 [git] fix some functions
* remove unneeded explination and authorship comments (as it's
noted in the README.md)

* s/git/command git/ (see issue #30)

* add is-true function, as it is required by a few other functions.
2016-02-04 15:33:12 -05:00
KoharaKazuya
b23f7ec6d9 [prompt] fix gitster local var
separate declaration and initialization of local array variable

Closes #21
2016-01-12 09:03:21 -05:00
Matt Hamilton
b0bf9d2ebc load-time optimizations 2015-12-20 20:42:48 -05:00
Matt Hamilton
dcc3265987 remove git-hub functions 2015-12-19 09:49:11 -05:00
Matt Hamilton
a1a56ac63f use consistent variable style 2015-12-19 09:48:29 -05:00
Matt Hamilton
08c9987b38 symlink git_current_branch to git-branch-current 2015-12-19 09:42:09 -05:00
Matt Hamilton
f2f0346864 add git_current_branch for theme compatibility 2015-12-18 10:57:19 -05:00
Matt Hamilton
3e6785c993 add oh-my-zsh theme compatibility git funcs 2015-12-18 09:45:36 -05:00
Matt Hamilton
390d6d39a5 g.. alias s/echo/print 2015-12-15 20:57:23 -05:00
Matt Hamilton
014ca7cdcd add git documentation 2015-12-15 02:29:48 -05:00
Matt Hamilton
3a62391e0e initial commit 2015-12-15 00:12:17 -05:00