git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [ANNOUNCE] tig-0.14

From
TSTilo Schwarz <tilo@tilo-schwarz.de>
Date
Feb 16, 2009, 21:12 UTC
Message-ID
<op.upgqjej6a8ed4e@dellschleppa>
In-Reply-To
<2c6b72b30902151547q5bf183f2q1e846f261825671c@mail.gmail.com>

On Mon, 16 Feb 2009 00:47:05 +0100, Jonas Fonseca <jonas.fonseca@gmail.com> wrote:

Show 14 quoted lines
> On Fri, Feb 13, 2009 at 00:14, Tilo Schwarz <tilo@tilo-schwarz.de> wrote:
>> Then I have another question: Did you ever thought of a branch view,  
>> where
>> you can see, create, delete and merge the different branches which are  
>> in a
>> git project.
>
> I have thought about it. The question is if a separate view is
> necessary or if the main view would do. For example, I sometimes use
> gitk when I need to rename branches or prepare for rebasing a
> patchset. One idea I would like to explore is to provide a compressed
> version of the main view, where "intermediate" commits are hidden,
> this way you could easily get a view of the relationship between
> branches.

I'm not sure if I understood it correctly. Do you mean, only commits are shown, which are heads of some branch? If so, what if more than one head points to the same commit?

The branch thing came into my mind, because it's the only thing which keeps me from using tig exclusively. I sometimes switch to git-gui to do the branch handling. Since I really like those "one key press is one command" kind of programs like tig (or mc, aptitude, mocp, ...), it would be really nice to have the branches in tig too. The nice thing of programs like tig is (matter of taste of course), that once you get used to the keys, you don't have to think about commands anymore, you just do them.

I think I would prefer a branch view, because then one could also have a branch-view keymap with specialized commands. One possibility would be (just as example):

The view shows something like this (here an example from the tig git repository)

   master
* my_feature_bar
X my_feature_foo
   origin/HEAD
   origin/master
   origin/release

The current branch is marked by '*'. Now let's assume, I am with my cursor on the line with the 'X', I could think of the keys

d (d)elete the X-marked branch, given is has already been merged into  
another branch
n create a (n)ew branch, based on the X-marked branch,
   ask for the new name and (maybe checkout the new branch)
c (c)heckout the branch
r (r)ename the branch
R (r)eset branch
...

I don't think it's necessary to reproduce all the nice options git-gui has, but if there would be a branch view with the most used 5 commands / work steps, it would cover 95% of the daily "branch work" which is needed. And it would be simply awesome, if we could do this without leaving tig, but instead use this very nice and fast "one key, one command" also for the branches. Of course the more complicated and special cases can be always handled by tig by pressing ':' and entering a git command.

Show 6 quoted lines
> The simplest thing to make it easier to experiment with new features
> would probably be to introduce a new external command specifier:
> %(prompt:<msg>), possibly with some regex for validation. Then you
> could add in your ~/.tigrc:
>
> bind main A !git branch %(prompt:^wip/[a-z-]+$:Name) %(commit)
Ahh, ok, so tig would issue a prompt and ask me for the name?
Thanks for the great program!
BTW, is the git list the right list to discuss bugs / patches for tig?
Best regards,
     Tilo
Previous: Marco CostalbaNext: Jonas Fonseca
Message 60 of 69 in “[ANNOUNCE] tig-0.14”
  1. Jonas FonsecaFeb 5, 2009
  2. bill lamFeb 6, 2009
  3. Jonas FonsecaFeb 6, 2009
  4. Sitaram ChamartyFeb 6, 2009
  5. Jonas FonsecaFeb 8, 2009
  6. showing SHA1 of parent commit in tig [was Re: [ANNOUNCE] tig-0.14Sitaram Chamarty, Feb 11, 2009
  7. Jonas FonsecaFeb 12, 2009
  8. Sitaram ChamartyFeb 12, 2009
  9. Jeff KingFeb 6, 2009
  10. Jonas FonsecaFeb 6, 2009
  11. Jakub NarebskiFeb 6, 2009
  12. Jonas FonsecaFeb 8, 2009
  13. Jeff KingFeb 7, 2009
  14. Junio C HamanoFeb 7, 2009
  15. david@lang.hmFeb 7, 2009
  16. Jonas FonsecaFeb 8, 2009
  17. Jonas FonsecaFeb 8, 2009
  18. Jeff KingFeb 8, 2009
  19. Jonas FonsecaFeb 8, 2009
  20. Jeff KingFeb 7, 2009
  21. Jonas FonsecaFeb 8, 2009
  22. Jeff KingFeb 8, 2009
  23. Jonas FonsecaFeb 8, 2009
  24. Mikael MagnussonFeb 7, 2009
  25. Peter BaumannFeb 9, 2009
  26. Jeff KingFeb 9, 2009
  27. Peter BaumannFeb 9, 2009
  28. Jonas FonsecaFeb 10, 2009
  29. Jari AaltoFeb 10, 2009
  30. Ted PavlicFeb 10, 2009
  31. Jonas FonsecaFeb 10, 2009
  32. Brian GernhardtFeb 10, 2009
  33. Stefan KarpinskiFeb 10, 2009
  34. Jonas FonsecaFeb 10, 2009
  35. Brian GernhardtFeb 10, 2009
  36. Jonas FonsecaFeb 10, 2009
  37. Brian GernhardtFeb 10, 2009
  38. Ted PavlicFeb 11, 2009
  39. Jonas FonsecaFeb 12, 2009
  40. Ted PavlicFeb 11, 2009
  41. Ted PavlicFeb 20, 2009
  42. Jonas FonsecaFeb 20, 2009
  43. Ted PavlicFeb 20, 2009
  44. Jonas FonsecaFeb 20, 2009
  45. Jonas FonsecaFeb 25, 2009
  46. Ted PavlicFeb 11, 2009
  47. Ted PavlicFeb 11, 2009
  48. Ted PavlicFeb 11, 2009
  49. Jonas FonsecaFeb 12, 2009
  50. Tilo SchwarzFeb 12, 2009
  51. Jonas FonsecaFeb 12, 2009
  52. Tilo SchwarzFeb 12, 2009
  53. Jonas FonsecaFeb 15, 2009
  54. Sitaram ChamartyFeb 16, 2009
  55. Jonas FonsecaFeb 16, 2009
  56. Sitaram ChamartyFeb 16, 2009
  57. Thomas AdamFeb 16, 2009
  58. Jonas FonsecaFeb 16, 2009
  59. Marco CostalbaFeb 17, 2009
  60. Tilo SchwarzFeb 16, 2009
  61. Jonas FonsecaFeb 20, 2009
  62. Tilo SchwarzFeb 21, 2009
  63. Jonas FonsecaFeb 21, 2009
  64. Tilo SchwarzFeb 21, 2009
  65. Tilo SchwarzFeb 16, 2009
  66. bill lamFeb 13, 2009
  67. Jonas FonsecaFeb 13, 2009
  68. bill lamFeb 14, 2009
  69. Jonas FonsecaFeb 15, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.