<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/sequencer.c, branch v2.23.2</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://git.shady.money/git/atom?h=v2.23.2</id>
<link rel='self' href='https://git.shady.money/git/atom?h=v2.23.2'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/'/>
<updated>2019-07-19T18:30:21Z</updated>
<entry>
<title>Merge branch 'nd/tree-walk-with-repo'</title>
<updated>2019-07-19T18:30:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-19T18:30:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=1eb0a12ec3934b7fc398b118806fdf7550ae636e'/>
<id>urn:sha1:1eb0a12ec3934b7fc398b118806fdf7550ae636e</id>
<content type='text'>
The tree-walk API learned to pass an in-core repository
instance throughout more codepaths.

* nd/tree-walk-with-repo:
  t7814: do not generate same commits in different repos
  Use the right 'struct repository' instead of the_repository
  match-trees.c: remove the_repo from shift_tree*()
  tree-walk.c: remove the_repo from get_tree_entry_follow_symlinks()
  tree-walk.c: remove the_repo from get_tree_entry()
  tree-walk.c: remove the_repo from fill_tree_descriptor()
  sha1-file.c: remove the_repo from read_object_with_reference()
</content>
</entry>
<entry>
<title>Merge branch 'ra/cherry-pick-revert-skip'</title>
<updated>2019-07-19T18:30:21Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-19T18:30:21Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=d97c62c828d6f0eb7ba7067c8c24793620900dd8'/>
<id>urn:sha1:d97c62c828d6f0eb7ba7067c8c24793620900dd8</id>
<content type='text'>
"git cherry-pick/revert" learned a new "--skip" action.

* ra/cherry-pick-revert-skip:
  cherry-pick/revert: advise using --skip
  cherry-pick/revert: add --skip option
  sequencer: use argv_array in reset_merge
  sequencer: rename reset_for_rollback to reset_merge
  sequencer: add advice for revert
</content>
</entry>
<entry>
<title>Merge branch 'pw/status-with-corrupt-sequencer-state'</title>
<updated>2019-07-19T18:30:20Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-19T18:30:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=bd48ccf4a4daca79a1e828dec7bee91c4aebc81e'/>
<id>urn:sha1:bd48ccf4a4daca79a1e828dec7bee91c4aebc81e</id>
<content type='text'>
The code to read state files used by the sequencer machinery for
"git status" has been made more robust against a corrupt or stale
state files.

* pw/status-with-corrupt-sequencer-state:
  status: do not report errors in sequencer/todo
  sequencer: factor out todo command name parsing
  sequencer: always allow tab after command name
</content>
</entry>
<entry>
<title>Merge branch 'sg/rebase-progress'</title>
<updated>2019-07-09T22:25:45Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-09T22:25:45Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=6624e07b36c97e04ba68c8310a70bc69433e187e'/>
<id>urn:sha1:6624e07b36c97e04ba68c8310a70bc69433e187e</id>
<content type='text'>
Use "Erase in Line" CSI sequence that is already used in the editor
support to clear cruft in the progress output.

* sg/rebase-progress:
  progress: use term_clear_line()
  rebase: fix garbled progress display with '-x'
  pager: add a helper function to clear the last line in the terminal
  t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
  t3404: modernize here doc style
</content>
</entry>
<entry>
<title>Merge branch 'nd/switch-and-restore'</title>
<updated>2019-07-09T22:25:44Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-09T22:25:44Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=f496b064fc1135e0dded7f93d85d72eb0b302c22'/>
<id>urn:sha1:f496b064fc1135e0dded7f93d85d72eb0b302c22</id>
<content type='text'>
Two new commands "git switch" and "git restore" are introduced to
split "checking out a branch to work on advancing its history" and
"checking out paths out of the index and/or a tree-ish to work on
advancing the current history" out of the single "git checkout"
command.

* nd/switch-and-restore: (46 commits)
  completion: disable dwim on "git switch -d"
  switch: allow to switch in the middle of bisect
  t2027: use test_must_be_empty
  Declare both git-switch and git-restore experimental
  help: move git-diff and git-reset to different groups
  doc: promote "git restore"
  user-manual.txt: prefer 'merge --abort' over 'reset --hard'
  completion: support restore
  t: add tests for restore
  restore: support --patch
  restore: replace --force with --ignore-unmerged
  restore: default to --source=HEAD when only --staged is specified
  restore: reject invalid combinations with --staged
  restore: add --worktree and --staged
  checkout: factor out worktree checkout code
  restore: disable overlay mode by default
  restore: make pathspec mandatory
  restore: take tree-ish from --source option instead
  checkout: split part of it to new command 'restore'
  doc: promote "git switch"
  ...
</content>
</entry>
<entry>
<title>Merge branch 'pw/rebase-abort-clean-rewritten'</title>
<updated>2019-07-09T22:25:41Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2019-07-09T22:25:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=88f95e49afe2684da7e8074d7782eba396604bdb'/>
<id>urn:sha1:88f95e49afe2684da7e8074d7782eba396604bdb</id>
<content type='text'>
"git rebase --abort" used to leave refs/rewritten/ when concluding
"git rebase -r", which has been corrected.

* pw/rebase-abort-clean-rewritten:
  rebase --abort/--quit: cleanup refs/rewritten
  sequencer: return errors from sequencer_remove_state()
  rebase: warn if state directory cannot be removed
  rebase: fix a memory leak
</content>
</entry>
<entry>
<title>cherry-pick/revert: advise using --skip</title>
<updated>2019-07-02T19:08:08Z</updated>
<author>
<name>Rohit Ashiwal</name>
<email>rohit.ashiwal265@gmail.com</email>
</author>
<published>2019-07-02T09:11:29Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=dcb500dc16ce8db556b51e9a5b3fa977111d0443'/>
<id>urn:sha1:dcb500dc16ce8db556b51e9a5b3fa977111d0443</id>
<content type='text'>
The previous commit introduced a --skip flag for cherry-pick and
revert. Update the advice messages, to tell users about this less
cumbersome way of skipping commits. Also add tests to ensure
everything is working fine.

Signed-off-by: Rohit Ashiwal &lt;rohit.ashiwal265@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>cherry-pick/revert: add --skip option</title>
<updated>2019-07-02T19:08:08Z</updated>
<author>
<name>Rohit Ashiwal</name>
<email>rohit.ashiwal265@gmail.com</email>
</author>
<published>2019-07-02T09:11:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=de81ca3f36b0f1db8bd615c98f2a5c819092c275'/>
<id>urn:sha1:de81ca3f36b0f1db8bd615c98f2a5c819092c275</id>
<content type='text'>
git am or rebase have a --skip flag to skip the current commit if the
user wishes to do so. During a cherry-pick or revert a user could
likewise skip a commit, but needs to use 'git reset' (or in the case
of conflicts 'git reset --merge'), followed by 'git (cherry-pick |
revert) --continue' to skip the commit. This is more annoying and
sometimes confusing on the users' part. Add a `--skip` option to make
skipping commits easier for the user and to make the commands more
consistent.

In the next commit, we will change the advice messages hence finishing
the process of teaching revert and cherry-pick "how to skip commits".

Signed-off-by: Rohit Ashiwal &lt;rohit.ashiwal265@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sequencer: use argv_array in reset_merge</title>
<updated>2019-07-02T19:08:08Z</updated>
<author>
<name>Rohit Ashiwal</name>
<email>rohit.ashiwal265@gmail.com</email>
</author>
<published>2019-07-02T09:11:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=265ab48f2646605b27e1343ac50efa9763690f04'/>
<id>urn:sha1:265ab48f2646605b27e1343ac50efa9763690f04</id>
<content type='text'>
Avoid using magic numbers for array size and index under `reset_merge`
function. Use `argv_array` instead. This will make code shorter and
easier to extend.

Signed-off-by: Rohit Ashiwal &lt;rohit.ashiwal265@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>sequencer: rename reset_for_rollback to reset_merge</title>
<updated>2019-07-02T19:08:07Z</updated>
<author>
<name>Rohit Ashiwal</name>
<email>rohit.ashiwal265@gmail.com</email>
</author>
<published>2019-07-02T09:11:26Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/git/commit/?id=918d1e6ed89738afad63a5cfc92668ac77a7be95'/>
<id>urn:sha1:918d1e6ed89738afad63a5cfc92668ac77a7be95</id>
<content type='text'>
We are on a path to teach cherry-pick/revert how to skip commits. To
achieve this, we could really make use of existing functions.
reset_for_rollback is one such function, but the name does not
intuitively suggest to use it to reset a merge, which it was born to
perform, see 539047c ("revert: introduce --abort to cancel a failed
cherry-pick", 2011-11-23). Change the name to reset_merge to make
it more intuitive.

Signed-off-by: Rohit Ashiwal &lt;rohit.ashiwal265@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
</feed>
