revert: stop creating and removing sequencer-old directory
Now that "git reset" no longer implicitly removes .git/sequencer that the operator may or may not have wanted to keep, the logic to write a backup copy of .git/sequencer and remove it when stale is not needed any more. Simplify the sequencer API and repository layout by dropping it. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
a7eff1e027
commit
d596118d7a
|
@ -944,7 +944,7 @@ static int sequencer_rollback(struct replay_opts *opts)
|
||||||
}
|
}
|
||||||
if (reset_for_rollback(sha1))
|
if (reset_for_rollback(sha1))
|
||||||
goto fail;
|
goto fail;
|
||||||
remove_sequencer_state(1);
|
remove_sequencer_state();
|
||||||
strbuf_release(&buf);
|
strbuf_release(&buf);
|
||||||
return 0;
|
return 0;
|
||||||
fail:
|
fail:
|
||||||
|
@ -1026,7 +1026,7 @@ static int pick_commits(struct commit_list *todo_list, struct replay_opts *opts)
|
||||||
* Sequence of picks finished successfully; cleanup by
|
* Sequence of picks finished successfully; cleanup by
|
||||||
* removing the .git/sequencer directory
|
* removing the .git/sequencer directory
|
||||||
*/
|
*/
|
||||||
remove_sequencer_state(1);
|
remove_sequencer_state();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1084,7 +1084,7 @@ static int pick_revisions(struct replay_opts *opts)
|
||||||
* one that is being continued
|
* one that is being continued
|
||||||
*/
|
*/
|
||||||
if (opts->subcommand == REPLAY_REMOVE_STATE) {
|
if (opts->subcommand == REPLAY_REMOVE_STATE) {
|
||||||
remove_sequencer_state(1);
|
remove_sequencer_state();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
if (opts->subcommand == REPLAY_ROLLBACK)
|
if (opts->subcommand == REPLAY_ROLLBACK)
|
||||||
|
|
10
sequencer.c
10
sequencer.c
|
@ -3,17 +3,11 @@
|
||||||
#include "strbuf.h"
|
#include "strbuf.h"
|
||||||
#include "dir.h"
|
#include "dir.h"
|
||||||
|
|
||||||
void remove_sequencer_state(int aggressive)
|
void remove_sequencer_state(void)
|
||||||
{
|
{
|
||||||
struct strbuf seq_dir = STRBUF_INIT;
|
struct strbuf seq_dir = STRBUF_INIT;
|
||||||
struct strbuf seq_old_dir = STRBUF_INIT;
|
|
||||||
|
|
||||||
strbuf_addf(&seq_dir, "%s", git_path(SEQ_DIR));
|
strbuf_addf(&seq_dir, "%s", git_path(SEQ_DIR));
|
||||||
strbuf_addf(&seq_old_dir, "%s", git_path(SEQ_OLD_DIR));
|
remove_dir_recursively(&seq_dir, 0);
|
||||||
remove_dir_recursively(&seq_old_dir, 0);
|
|
||||||
rename(git_path(SEQ_DIR), git_path(SEQ_OLD_DIR));
|
|
||||||
if (aggressive)
|
|
||||||
remove_dir_recursively(&seq_old_dir, 0);
|
|
||||||
strbuf_release(&seq_dir);
|
strbuf_release(&seq_dir);
|
||||||
strbuf_release(&seq_old_dir);
|
|
||||||
}
|
}
|
||||||
|
|
12
sequencer.h
12
sequencer.h
|
@ -2,19 +2,11 @@
|
||||||
#define SEQUENCER_H
|
#define SEQUENCER_H
|
||||||
|
|
||||||
#define SEQ_DIR "sequencer"
|
#define SEQ_DIR "sequencer"
|
||||||
#define SEQ_OLD_DIR "sequencer-old"
|
|
||||||
#define SEQ_HEAD_FILE "sequencer/head"
|
#define SEQ_HEAD_FILE "sequencer/head"
|
||||||
#define SEQ_TODO_FILE "sequencer/todo"
|
#define SEQ_TODO_FILE "sequencer/todo"
|
||||||
#define SEQ_OPTS_FILE "sequencer/opts"
|
#define SEQ_OPTS_FILE "sequencer/opts"
|
||||||
|
|
||||||
/*
|
/* Removes SEQ_DIR. */
|
||||||
* Removes SEQ_OLD_DIR and renames SEQ_DIR to SEQ_OLD_DIR, ignoring
|
extern void remove_sequencer_state(void);
|
||||||
* any errors. Intended to be used by 'git reset'.
|
|
||||||
*
|
|
||||||
* With the aggressive flag, it additionally removes SEQ_OLD_DIR,
|
|
||||||
* ignoring any errors. Inteded to be used by the sequencer's
|
|
||||||
* '--quit' subcommand.
|
|
||||||
*/
|
|
||||||
void remove_sequencer_state(int aggressive);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue