Code

tig.git
15 years agoBlame view: fix diffing of lines marked as not yet committed
Jonas Fonseca [Fri, 23 Jan 2009 11:11:01 +0000 (12:11 +0100)]
Blame view: fix diffing of lines marked as not yet committed

15 years agoAdd support for restoring the view position in reloadable views
Jonas Fonseca [Fri, 24 Oct 2008 08:56:51 +0000 (10:56 +0200)]
Add support for restoring the view position in reloadable views

The status view still uses its own more specialized restoring code.
There are still some cases which are not completely handled. For
example, restoring will only be done when the current line is the first
in the view, thus changing the view position will cancel the restoring.
However, if you change back to the first line restoring will be enabled.

15 years agoFix status_exists to be consistent with data displayed in the stage view
Jonas Fonseca [Thu, 22 Jan 2009 16:00:45 +0000 (17:00 +0100)]
Fix status_exists to be consistent with data displayed in the stage view

15 years agoMake it possible to call select_view_line for non-displayed views
Jonas Fonseca [Thu, 22 Jan 2009 15:59:00 +0000 (16:59 +0100)]
Make it possible to call select_view_line for non-displayed views

15 years agoRefactor find_next_line into select_view_line
Jonas Fonseca [Sun, 18 Jan 2009 01:58:47 +0000 (02:58 +0100)]
Refactor find_next_line into select_view_line

15 years agoRefactor user input handling into separate function
Jonas Fonseca [Sat, 17 Jan 2009 13:05:00 +0000 (14:05 +0100)]
Refactor user input handling into separate function

Fixes resizing while the prompt is open.

15 years agoAdd support for opening any blob in an editor
Jonas Fonseca [Sat, 17 Jan 2009 09:08:41 +0000 (10:08 +0100)]
Add support for opening any blob in an editor

15 years agoPrefer werase to wclear when possible to reduce flickering
Jonas Fonseca [Mon, 19 Jan 2009 14:50:00 +0000 (15:50 +0100)]
Prefer werase to wclear when possible to reduce flickering

Use werase instead of wclear in redraw_view and optionally make
redraw_display use wclear before calling redraw_view. After this, wclear
is only used when there is possibility that the screen could have been
corrupted.

15 years agoCleanup and improve option toggling actions to include help message
Jonas Fonseca [Mon, 19 Jan 2009 15:29:59 +0000 (16:29 +0100)]
Cleanup and improve option toggling actions to include help message

15 years agoFix stage reloading to not close when staging chunks from group diff
Jonas Fonseca [Wed, 21 Jan 2009 22:14:17 +0000 (23:14 +0100)]
Fix stage reloading to not close when staging chunks from group diff

15 years agoDo not terminate the update when switching back to a loading view
Jonas Fonseca [Wed, 21 Jan 2009 15:27:15 +0000 (16:27 +0100)]
Do not terminate the update when switching back to a loading view

Move call to end_update() to begin_update() so checks for view content
is honored in the case where no reloading is necessary.

15 years agoFix regression of main view drawing
Jonas Fonseca [Mon, 19 Jan 2009 21:46:24 +0000 (22:46 +0100)]
Fix regression of main view drawing

Hopefully last fix for dirty flag regressions.

15 years agoCleanup update_view's read loop
Jonas Fonseca [Mon, 19 Jan 2009 14:33:43 +0000 (15:33 +0100)]
Cleanup update_view's read loop

15 years agoFix regression in handling of data for non-UTF-8 locales
Jonas Fonseca [Mon, 19 Jan 2009 14:19:54 +0000 (15:19 +0100)]
Fix regression in handling of data for non-UTF-8 locales

The bug was introduced in 65498141015b6070cf5c9b5704039389dba76e90 where
the the IO API was changed from using stdio to 'raw' file descriptors.
Part of the change removed the need for cutting the ending newline from
the input line in update_view(). This caused the resulting iconv output
buffer to not be NUL terminated since the input string no longer
contained an ending NULL byte.

Reported by Pavel Roskin.

15 years agoFix another regression from the dirty flag changes causing flickering
Jonas Fonseca [Sat, 17 Jan 2009 22:10:21 +0000 (23:10 +0100)]
Fix another regression from the dirty flag changes causing flickering

Use redraw_view_from() instead of redraw_view() to avoid excessive calls
to wclear().

15 years agoFix serious bug where a stack allocated variable was returned
Jonas Fonseca [Sat, 17 Jan 2009 18:57:10 +0000 (19:57 +0100)]
Fix serious bug where a stack allocated variable was returned

Reproducable when calling tig with log arguments.

15 years agoImprove messages when preparing to load blame commits
Jonas Fonseca [Sat, 17 Jan 2009 07:31:57 +0000 (08:31 +0100)]
Improve messages when preparing to load blame commits

15 years agoFix regressions introduced in the last few dirty flag changes
Jonas Fonseca [Thu, 15 Jan 2009 19:28:04 +0000 (20:28 +0100)]
Fix regressions introduced in the last few dirty flag changes

Regressions was introduced in ddc5064c42f2adab639feeacf86729a44f06f216.

15 years agoTree view: make drawing more smooth by using the dirty flag
Jonas Fonseca [Thu, 15 Jan 2009 14:56:11 +0000 (15:56 +0100)]
Tree view: make drawing more smooth by using the dirty flag

15 years agoCleanup redrawing of views when updating by using the dirty flag
Jonas Fonseca [Wed, 14 Jan 2009 16:15:10 +0000 (17:15 +0100)]
Cleanup redrawing of views when updating by using the dirty flag

15 years agoCleanup the tree_read sorting loop
Jonas Fonseca [Thu, 15 Jan 2009 14:24:39 +0000 (15:24 +0100)]
Cleanup the tree_read sorting loop

15 years agoFix memory corruption bug in tree_read when sorting the entries
Jonas Fonseca [Thu, 15 Jan 2009 14:14:54 +0000 (15:14 +0100)]
Fix memory corruption bug in tree_read when sorting the entries

Triggered by defining ITEM_CHUNK_SIZE to 1.

15 years agoCleanup and simplify the code by introducing add_line_format
Jonas Fonseca [Thu, 15 Jan 2009 13:44:40 +0000 (14:44 +0100)]
Cleanup and simplify the code by introducing add_line_format

15 years agoCleanup the code by calling realloc_lines in add_line_data
Jonas Fonseca [Wed, 14 Jan 2009 12:31:19 +0000 (13:31 +0100)]
Cleanup the code by calling realloc_lines in add_line_data

15 years agotig-0.13
Jonas Fonseca [Tue, 13 Jan 2009 22:08:01 +0000 (23:08 +0100)]
tig-0.13

15 years agoLaunch mergetool from the project root directory
Jonas Fonseca [Tue, 13 Jan 2009 17:41:37 +0000 (18:41 +0100)]
Launch mergetool from the project root directory

Fixes problem when in a subdirectory.

15 years agoClear the view after 1 second during updates where reading takes long
Jonas Fonseca [Wed, 19 Nov 2008 11:24:22 +0000 (12:24 +0100)]
Clear the view after 1 second during updates where reading takes long

Inspired by Karl Chen.

15 years agoIO API: use select(2) to check if pipe is readable when updating a view
Jonas Fonseca [Sun, 9 Nov 2008 20:04:45 +0000 (21:04 +0100)]
IO API: use select(2) to check if pipe is readable when updating a view

15 years agoIO API: reindent status_run main loop after the rewrite
Jonas Fonseca [Tue, 13 Jan 2009 16:16:58 +0000 (17:16 +0100)]
IO API: reindent status_run main loop after the rewrite

No code change.

15 years agoIO API: replace io_gets with helper for scanning buffers
Jonas Fonseca [Tue, 13 Jan 2009 14:22:11 +0000 (15:22 +0100)]
IO API: replace io_gets with helper for scanning buffers

Use in status_run() to simplify the code.

15 years agoIO API: use fork+exec
Jonas Fonseca [Sat, 10 Jan 2009 03:21:44 +0000 (22:21 -0500)]
IO API: use fork+exec

15 years agoIO API: use argv internally
Jonas Fonseca [Fri, 9 Jan 2009 17:29:57 +0000 (12:29 -0500)]
IO API: use argv internally

15 years agoIO API: use file descriptor internally
Jonas Fonseca [Fri, 9 Jan 2009 17:17:38 +0000 (12:17 -0500)]
IO API: use file descriptor internally

15 years agoIO API: replace init_io_fd with io_open which calls fopen(3)
Jonas Fonseca [Fri, 9 Jan 2009 14:11:48 +0000 (09:11 -0500)]
IO API: replace init_io_fd with io_open which calls fopen(3)

15 years agoIO API: use in the status view
Jonas Fonseca [Mon, 12 Jan 2009 13:57:05 +0000 (14:57 +0100)]
IO API: use in the status view

15 years agoIO API: use when loading repository properties
Jonas Fonseca [Fri, 28 Nov 2008 10:27:21 +0000 (11:27 +0100)]
IO API: use when loading repository properties

This introduces an incompatibility regarding the format of the
TIG_LS_REMOTE environment variable.

15 years agoIO API: use in the stage view
Jonas Fonseca [Thu, 8 Jan 2009 19:49:25 +0000 (14:49 -0500)]
IO API: use in the stage view

15 years agoIO API: obsolete opt_pipe
Jonas Fonseca [Sun, 11 Jan 2009 22:15:00 +0000 (23:15 +0100)]
IO API: obsolete opt_pipe

15 years agoIO API: obsolete opt_cmd by using prepare_update in status_enter
Jonas Fonseca [Thu, 8 Jan 2009 18:20:04 +0000 (13:20 -0500)]
IO API: obsolete opt_cmd by using prepare_update in status_enter

15 years agoIO API: use prepare_update when parsing command line arguments
Jonas Fonseca [Thu, 27 Nov 2008 16:31:40 +0000 (17:31 +0100)]
IO API: use prepare_update when parsing command line arguments

15 years agoIO API: use in add_describe_ref
Jonas Fonseca [Wed, 31 Dec 2008 06:56:55 +0000 (01:56 -0500)]
IO API: use in add_describe_ref

15 years agoIO API: use in the blame view
Jonas Fonseca [Fri, 28 Nov 2008 11:15:50 +0000 (12:15 +0100)]
IO API: use in the blame view

15 years agoIO API: unify tree view and the default path in begin_update
Jonas Fonseca [Sat, 10 Jan 2009 21:51:54 +0000 (16:51 -0500)]
IO API: unify tree view and the default path in begin_update

15 years agoIO API: use for the main, log, diff, tree and blob views
Jonas Fonseca [Thu, 27 Nov 2008 16:45:54 +0000 (17:45 +0100)]
IO API: use for the main, log, diff, tree and blob views

This introduces an incompatibility with previous versions.

15 years agoIO API: use when preparing to run commands from the prompt
Jonas Fonseca [Thu, 27 Nov 2008 16:55:52 +0000 (17:55 +0100)]
IO API: use when preparing to run commands from the prompt

15 years agoIO API: convert status checkout/revert support
Jonas Fonseca [Mon, 5 Jan 2009 01:26:24 +0000 (20:26 -0500)]
IO API: convert status checkout/revert support

15 years agoIO API: use when running external commands
Jonas Fonseca [Sun, 28 Dec 2008 21:41:29 +0000 (16:41 -0500)]
IO API: use when running external commands

15 years agoIO API: refactor the run request command formatter
Jonas Fonseca [Thu, 27 Nov 2008 16:29:03 +0000 (17:29 +0100)]
IO API: refactor the run request command formatter

Adds support for new %(file), %(directory) and %(ref) identifiers.
Also adds infrastructure for working with argument arrays

15 years agoIO API: add small library for reading files and running programs
Jonas Fonseca [Wed, 31 Dec 2008 19:17:25 +0000 (14:17 -0500)]
IO API: add small library for reading files and running programs

15 years agoBlame: do to not reload the diff view for same commits
Jonas Fonseca [Tue, 13 Jan 2009 21:48:06 +0000 (22:48 +0100)]
Blame: do to not reload the diff view for same commits

15 years agoBlame: update blame to selected commit when pressing 'B'
Jonas Fonseca [Tue, 13 Jan 2009 21:45:51 +0000 (22:45 +0100)]
Blame: update blame to selected commit when pressing 'B'

15 years agoBlame: remove unused member of struct blame
Jonas Fonseca [Tue, 13 Jan 2009 21:44:19 +0000 (22:44 +0100)]
Blame: remove unused member of struct blame

15 years agoAdd setup_update for initialize incremental view updates
Jonas Fonseca [Fri, 9 Jan 2009 18:02:02 +0000 (13:02 -0500)]
Add setup_update for initialize incremental view updates

Refactors common parts of begin_update and blame_open.

15 years agoSlightly reduce memory usage for keybindings
Jonas Fonseca [Wed, 7 Jan 2009 16:34:54 +0000 (11:34 -0500)]
Slightly reduce memory usage for keybindings

15 years agoMove formatting of blame --incremental command to blame_read_file
Jonas Fonseca [Wed, 31 Dec 2008 18:23:43 +0000 (13:23 -0500)]
Move formatting of blame --incremental command to blame_read_file

Doing it in blame_open after starting the command makes error handling
harder and the code was indeed buggy.

15 years agoMinor simplification of blame_open
Jonas Fonseca [Wed, 31 Dec 2008 18:11:58 +0000 (13:11 -0500)]
Minor simplification of blame_open

15 years agoDon't use view->cmd to share state in the blame view
Jonas Fonseca [Wed, 31 Dec 2008 17:55:33 +0000 (12:55 -0500)]
Don't use view->cmd to share state in the blame view

15 years agoFix drawing loading views that are not displayed.
Jonas Fonseca [Wed, 31 Dec 2008 17:53:24 +0000 (12:53 -0500)]
Fix drawing loading views that are not displayed.

15 years agoAdd support for launching the editor from the tree view
Jonas Fonseca [Sun, 28 Dec 2008 18:47:12 +0000 (13:47 -0500)]
Add support for launching the editor from the tree view

Only supported for files in the currently checked out head.

Requested by Cyril Romain.

15 years agoReplace opt_no_head with opt_head_rev in order to save the HEAD rev
Jonas Fonseca [Sun, 28 Dec 2008 18:29:42 +0000 (13:29 -0500)]
Replace opt_no_head with opt_head_rev in order to save the HEAD rev

Add is_initial_commit macro which replaces opt_no_head tests. Also,
update ref_head and ref_commit with the resolved HEAD revision.

15 years agoUse switch statement in tree_request
Jonas Fonseca [Sun, 28 Dec 2008 17:47:28 +0000 (12:47 -0500)]
Use switch statement in tree_request

15 years agoRefuse to open blame view for all non-file entries in the tree view
Jonas Fonseca [Sun, 28 Dec 2008 17:32:12 +0000 (12:32 -0500)]
Refuse to open blame view for all non-file entries in the tree view

16 years agoRefuse to open deleted files from the status and stage views
Jonas Fonseca [Sun, 16 Nov 2008 20:40:17 +0000 (21:40 +0100)]
Refuse to open deleted files from the status and stage views

16 years agotigrc(5): minor fixes and improvements from wip/run-command
Jonas Fonseca [Wed, 5 Nov 2008 17:01:35 +0000 (18:01 +0100)]
tigrc(5): minor fixes and improvements from wip/run-command

16 years agoRefuse to open a directory in the status and stage view
Jonas Fonseca [Sat, 25 Oct 2008 19:29:51 +0000 (21:29 +0200)]
Refuse to open a directory in the status and stage view

Adds suffixcmp() used for checking if the status entry name ends
with "/". Also use it for repository reference loading.

16 years agoFix waiting for input after executing a run request in pager mode
Jonas Fonseca [Wed, 15 Oct 2008 10:07:38 +0000 (12:07 +0200)]
Fix waiting for input after executing a run request in pager mode

When in pager mode, stdin should not be touched. After executing a run
request a getc(stdin) was done to wait for the user's command to
continue, which didn't result in the expected behavior. To fix this
store the proper TTY handle in the new opt_tty variable which is set up
by init_display().

16 years agoupdate_view: Check the pipes and call end_update() before redrawing
Jonas Fonseca [Wed, 15 Oct 2008 08:14:33 +0000 (10:14 +0200)]
update_view: Check the pipes and call end_update() before redrawing

This allows the main view to finish its updating of the revision graph
so that it is rendered properly for the last commit. As a bonus, it also
removes a goto.

16 years agoUse "--" to separate file argument to git-checkout
Jonas Fonseca [Tue, 14 Oct 2008 05:55:05 +0000 (07:55 +0200)]
Use "--" to separate file argument to git-checkout

16 years agoCleanup and fix the main loop to make view point to the current view
Jonas Fonseca [Sat, 11 Oct 2008 12:14:48 +0000 (14:14 +0200)]
Cleanup and fix the main loop to make view point to the current view

16 years agoUpdate and improve the manual
Jonas Fonseca [Sat, 11 Oct 2008 10:24:16 +0000 (12:24 +0200)]
Update and improve the manual

Especially the section on external commands and commands from the
environment is reworked. The section on the viewer is moved up.

16 years agoRemove documentation relicts from before the option parsing was changed
Jonas Fonseca [Fri, 10 Oct 2008 19:30:16 +0000 (21:30 +0200)]
Remove documentation relicts from before the option parsing was changed

16 years agoIntroduce prefixcmp macro to reduce code verbosity
Jonas Fonseca [Fri, 10 Oct 2008 17:34:11 +0000 (19:34 +0200)]
Introduce prefixcmp macro to reduce code verbosity

16 years agoSeparate blame revision and file argument by "--" to avoid problems
Jonas Fonseca [Fri, 10 Oct 2008 12:00:47 +0000 (14:00 +0200)]
Separate blame revision and file argument by "--" to avoid problems

16 years agoAdd bash completion for the blame subcommand
Jonas Fonseca [Fri, 10 Oct 2008 11:43:16 +0000 (13:43 +0200)]
Add bash completion for the blame subcommand

16 years agoRemove outdated comment
Jonas Fonseca [Fri, 10 Oct 2008 11:10:04 +0000 (13:10 +0200)]
Remove outdated comment

16 years agoMake more strings const
Jonas Fonseca [Thu, 9 Oct 2008 12:05:55 +0000 (14:05 +0200)]
Make more strings const

16 years agoSort references in the order: tags, heads, tracked remotes, remotes
Jonas Fonseca [Thu, 9 Oct 2008 11:09:28 +0000 (13:09 +0200)]
Sort references in the order: tags, heads, tracked remotes, remotes

16 years agotig-0.12.1
Jonas Fonseca [Wed, 8 Oct 2008 12:29:25 +0000 (14:29 +0200)]
tig-0.12.1

16 years agoRename checkout to revert and support individual diff chunks reverts
Jonas Fonseca [Tue, 7 Oct 2008 23:00:12 +0000 (01:00 +0200)]
Rename checkout to revert and support individual diff chunks reverts

16 years agoAvoid triggering assertion failure when reloading the status view
Jonas Fonseca [Tue, 7 Oct 2008 18:43:24 +0000 (20:43 +0200)]
Avoid triggering assertion failure when reloading the status view

After staging a diff chunk, the stage view automatically reloads the
status view. If the staging happened while the status view is not
displayed an assertion failure is triggered by draw_view_line(). Fix it
by only conditionally redrawing the view in open_view().

16 years agoConsolidate and share view resetting via new reset_view()
Jonas Fonseca [Tue, 7 Oct 2008 18:42:23 +0000 (20:42 +0200)]
Consolidate and share view resetting via new reset_view()

16 years agoHelp view: move requests from the Misc group into separate groups
Jonas Fonseca [Tue, 7 Oct 2008 18:04:26 +0000 (20:04 +0200)]
Help view: move requests from the Misc group into separate groups

16 years agoHelp view: use "(no key)" instead of "'?'" to not confuse unbound actions
Jonas Fonseca [Tue, 7 Oct 2008 17:24:28 +0000 (19:24 +0200)]
Help view: use "(no key)" instead of "'?'" to not confuse unbound actions

16 years agoClear the status line when closing a view
Jonas Fonseca [Tue, 7 Oct 2008 16:59:03 +0000 (18:59 +0200)]
Clear the status line when closing a view

Avoids confusion from stale messages.

16 years agoFix bug introduced in commit for using --exclude-standard flag
Jonas Fonseca [Tue, 7 Oct 2008 12:18:01 +0000 (14:18 +0200)]
Fix bug introduced in commit for using --exclude-standard flag

Introduced in commit 33623c0022b49a5f2774b37a58726a95a4367447. The bug
is reproducible when running tig status in a newly created repository.

16 years agoAdd support for refreshing the log view
Jonas Fonseca [Tue, 7 Oct 2008 10:28:01 +0000 (12:28 +0200)]
Add support for refreshing the log view

16 years agoMake OPEN_REFRESH imply OPEN_NOMAXIMIZE
Jonas Fonseca [Tue, 7 Oct 2008 10:23:48 +0000 (12:23 +0200)]
Make OPEN_REFRESH imply OPEN_NOMAXIMIZE

... so the main view keeps its dimension when refreshing with the diff
view open.

16 years agoSimplify view refreshing by adding new OPEN_REFRESH flag for open_view
Jonas Fonseca [Tue, 7 Oct 2008 10:08:54 +0000 (12:08 +0200)]
Simplify view refreshing by adding new OPEN_REFRESH flag for open_view

16 years agoShow complete shortlog for small releases
Jonas Fonseca [Mon, 6 Oct 2008 21:27:38 +0000 (23:27 +0200)]
Show complete shortlog for small releases

16 years agoImprove checkout error reporting
Jonas Fonseca [Mon, 6 Oct 2008 20:09:42 +0000 (22:09 +0200)]
Improve checkout error reporting

16 years agoCleanup and make option argument strings const
Jonas Fonseca [Mon, 6 Oct 2008 19:29:20 +0000 (21:29 +0200)]
Cleanup and make option argument strings const

16 years agoImprove handling of unmatched quotes in ~/.tigrc
Jonas Fonseca [Mon, 6 Oct 2008 19:28:50 +0000 (21:28 +0200)]
Improve handling of unmatched quotes in ~/.tigrc

16 years agoMake GIT_CONFIG only contain the config subcommand
Jonas Fonseca [Mon, 6 Oct 2008 19:00:58 +0000 (21:00 +0200)]
Make GIT_CONFIG only contain the config subcommand

16 years agoReload repository references when refreshing the main view
Jonas Fonseca [Mon, 6 Oct 2008 11:11:21 +0000 (13:11 +0200)]
Reload repository references when refreshing the main view

16 years agoAvoid refreshing views when checkout is canceled by user
Jonas Fonseca [Wed, 1 Oct 2008 15:39:52 +0000 (17:39 +0200)]
Avoid refreshing views when checkout is canceled by user

16 years agoAlso allow files to be checked out from stage view
Jonas Fonseca [Wed, 1 Oct 2008 15:30:37 +0000 (17:30 +0200)]
Also allow files to be checked out from stage view

16 years agoCleanup exclude rule setup by using ls-files --exclude-standard flag
Jonas Fonseca [Tue, 30 Sep 2008 14:57:28 +0000 (16:57 +0200)]
Cleanup exclude rule setup by using ls-files --exclude-standard flag

This makes user specific ignore rules effective in the status view.

16 years agoMain: use --topo-order when arguments are given on the command line
Jonas Fonseca [Tue, 30 Sep 2008 14:21:42 +0000 (16:21 +0200)]
Main: use --topo-order when arguments are given on the command line

16 years agomain: automatically refresh after run requests
Jonas Fonseca [Sun, 21 Sep 2008 16:59:57 +0000 (18:59 +0200)]
main: automatically refresh after run requests

16 years agostatus: add support for checking out files with unstaged changes
Jonas Fonseca [Sun, 21 Sep 2008 11:15:25 +0000 (13:15 +0200)]
status: add support for checking out files with unstaged changes