1. 18 Mar, 2019 2 commits
  2. 14 Mar, 2019 2 commits
  3. 07 Mar, 2019 12 commits
  4. 22 Feb, 2019 1 commit
  5. 11 Feb, 2019 1 commit
  6. 04 Feb, 2019 1 commit
    • William Hubbs's avatar
      config: allow giving separate author and committer idents · 39ab4d09
      William Hubbs authored
      The author.email, author.name, committer.email and committer.name
      settings are analogous to the GIT_AUTHOR_* and GIT_COMMITTER_*
      environment variables, but for the git config system. This allows them
      to be set separately for each repository.
      
      Git supports setting different authorship and committer
      information with environment variables. However, environment variables
      are set in the shell, so if different authorship and committer
      information is needed for different repositories an external tool is
      required.
      
      This adds support to git config for author.email, author.name,
      committer.email and committer.name  settings so this information
      can be set per repository.
      
      Also, it generalizes the fmt_ident function so it can handle author vs
      committer identification.
      Signed-off-by: default avatarWilliam Hubbs <williamh@gentoo.org>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      39ab4d09
  7. 29 Jan, 2019 4 commits
    • Alban Gruin's avatar
      sequencer: refactor check_todo_list() to work on a todo_list · 6ca89c6f
      Alban Gruin authored
      This refactors check_todo_list() to work on a todo_list to avoid
      redundant reads and writes to the disk.  The function is renamed
      todo_list_check().  The parsing of the two todo lists is left to the
      caller.
      
      As rebase -p still need to check the todo list from the disk, a new
      function is introduced, check_todo_list_from_file().  It reads the file
      from the disk, parses it, pass the todo_list to todo_list_check(), and
      writes it back to the disk.
      
      As get_missing_commit_check_level() and the enum
      missing_commit_check_level are no longer needed inside of sequencer.c,
      they are moved to rebase-interactive.c, and made static again.
      Signed-off-by: default avatarAlban Gruin <alban.gruin@gmail.com>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      6ca89c6f
    • Alban Gruin's avatar
      sequencer: introduce todo_list_write_to_file() · 616d7740
      Alban Gruin authored
      This introduces a new function to recreate the text of a todo list from
      its commands and write it to a file.  This will be useful as the next
      few commits will change the use of the buffer in struct todo_list so it
      will no longer be a mirror of the file on disk.
      
      This functionality already exists in todo_list_transform(), but this
      function was made to replace the buffer of a todo list, which is not
      what we want here.  Thus, the part of todo_list_transform() that
      replaces the buffer is dropped, and the function is renamed
      todo_list_to_strbuf().  It is called by todo_list_write_to_file() to
      fill the buffer to write to the disk.
      
      todo_list_write_to_file() can also take care of appending the help text
      to the buffer before writing it to the disk, or to write only the first
      n items of the list.  This feature will be used by
      skip_unnecessary_picks(), which has to write done commands in a file.
      Signed-off-by: default avatarAlban Gruin <alban.gruin@gmail.com>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      616d7740
    • Alban Gruin's avatar
      sequencer: refactor transform_todos() to work on a todo_list · cbef27d6
      Alban Gruin authored
      This refactors transform_todos() to work on a todo_list.  The function
      is renamed todo_list_transform().
      
      As rebase -p still need to check the todo list from the disk, a new
      function is introduced, transform_todo_file().  It is still used by
      complete_action() and edit_todo_list() for now, but they will be
      replaced in a future commit.
      
      todo_list_transform() is not a static function, because it will be used
      by edit_todo_list() from rebase-interactive.c in a future commit.
      Signed-off-by: default avatarAlban Gruin <alban.gruin@gmail.com>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      cbef27d6
    • Alban Gruin's avatar
      sequencer: remove the 'arg' field from todo_item · 6ad656db
      Alban Gruin authored
      The 'arg' field of todo_item used to store the address of the first byte
      of the parameter of a command in a todo list.  It was associated with
      the length of the parameter (the 'arg_len' field).
      
      This replaces the 'arg' field by 'arg_offset'.  This new field does not
      store the address of the parameter, but the position of the first
      character of the parameter in the buffer.  todo_item_get_arg() is added
      to return the address of the parameter of an item.
      
      This will prevent todo_list_add_exec_commands() from having to do awful
      pointer arithmetics when growing the todo list buffer.
      Signed-off-by: default avatarAlban Gruin <alban.gruin@gmail.com>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      6ad656db
  8. 14 Jan, 2019 4 commits
  9. 08 Jan, 2019 2 commits
  10. 28 Dec, 2018 1 commit
    • Elijah Newren's avatar
      git-rebase, sequencer: extend --quiet option for the interactive machinery · 899b49c4
      Elijah Newren authored
      While 'quiet' and 'interactive' may sound like antonyms, the interactive
      machinery actually has logic that implements several
      interactive_rebase=implied cases (--exec, --keep-empty, --rebase-merges)
      which won't pop up an editor.  The rewrite of interactive rebase in C
      added a quiet option, though it only turns stats off.  Since we want to
      make the interactive machinery also take over for git-rebase--merge, it
      should fully implement the --quiet option.
      
      git-rebase--interactive was already somewhat quieter than
      git-rebase--merge and git-rebase--am, possibly because cherry-pick has
      just traditionally been quieter.  As such, we only drop a few
      informational messages -- "Rebasing (n/m)" and "Successfully rebased..."
      
      Also, for simplicity, remove the differences in how quiet and verbose
      options were recorded.  Having one be signalled by the presence of a
      "verbose" file in the state_dir, while the other was signalled by the
      contents of a "quiet" file was just weirdly inconsistent.  (This
      inconsistency pre-dated the rewrite into C.)  Make them consistent by
      having them both key off the presence of the file.
      Signed-off-by: Elijah Newren's avatarElijah Newren <newren@gmail.com>
      Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
      899b49c4
  11. 26 Dec, 2018 1 commit
  12. 11 Dec, 2018 1 commit
  13. 10 Dec, 2018 1 commit
  14. 13 Nov, 2018 2 commits
  15. 12 Nov, 2018 5 commits