From: Ramkumar Ramachandra <artagnon@gmail.com>
To: Git List <git@vger.kernel.org>
Cc: Christian Couder <chriscool@tuxfamily.org>,
Daniel Barkalow <barkalow@iabervon.org>,
Jonathan Nieder <jrnieder@gmail.com>
Subject: [RFC PATCH 00/11] Sequencer Foundations
Date: Sun, 10 Apr 2011 20:41:46 +0530 [thread overview]
Message-ID: <1302448317-32387-1-git-send-email-artagnon@gmail.com> (raw)
Hi,
I've started working on building a sequencer for Git. While the
outline is described in [1], I'd like some additional clarifications.
A big thanks to Christian's series [2] for the valuable roadmap.
Please note that 10/11 is not related to this series, but seems to be
a minor nit that's required to make all existing tests pass.
0. Is the general flow alright?
1. Is it okay to use this kind of adaptive error handling (calling
'die' in some places and returning error in other places), or should
it be more uniform?
2. In 11/11, I've used cmd_revert and cmd_rerere. This is highly
inelegant, mainly because of the command-line argument parsing
overhead. Re-implementing it using more low-level functions doesn't
seem to be the way to go either: for example, 'reset --hard' has some
additional logic of writing HEAD and ORIG_HEAD, which I don't want to
duplicate. Should I work on reworking parts of 'rerere.c' and
'revert.c', or is there some other way?
3. From the format of the TODO and DONE files, one more thing should
be clear- I'm trying to stick to a slight variation of the 'rebase -i'
format. This part will go into the sequencer. Then I'll use a
cherry-pick specific file to keep the command-line options. Yes, I'm
trying to work on Daniel's idea [3] from the very start. Is this a
good idea?
4. I have a feeling that I've broken translation strings. Is there a
README, plus a bunch of tests I can run to make sure that I've not
broken anything?
Thanks for reading.
-- Ram
[1]: http://thread.gmane.org/gmane.comp.version-control.git/170758/focus=170908
[2]: http://thread.gmane.org/gmane.comp.version-control.git/162183
[3]: http://thread.gmane.org/gmane.comp.version-control.git/170758/focus=170834
Ramkumar Ramachandra (11):
revert: Avoid calling die; return error instead
revert: Lose global variables "commit" and "me"
revert: Introduce a struct to parse command-line options into
revert: Separate cmdline argument handling from the functional code
revert: Catch incompatible command-line options early
revert: Implement parsing --continue, --abort and --skip
revert: Handle conflict resolutions more elegantly
usage: Introduce error_errno correspoding to die_errno
revert: Write head, todo, done files
revert: Give noop a default value while argument parsing
revert: Implement --abort processing
advice.c | 14 ++
advice.h | 1 +
builtin/revert.c | 454 ++++++++++++++++++++++++++++++++++++++---------------
git-compat-util.h | 2 +
usage.c | 34 ++++
5 files changed, 381 insertions(+), 124 deletions(-)
--
1.7.4.rc1.7.g2cf08.dirty
next reply other threads:[~2011-04-10 15:13 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-10 15:11 Ramkumar Ramachandra [this message]
2011-04-10 15:11 ` [PATCH 01/11] revert: Avoid calling die; return error instead Ramkumar Ramachandra
2011-04-10 19:14 ` Jonathan Nieder
2011-05-08 12:04 ` Ramkumar Ramachandra
2011-04-11 20:26 ` Junio C Hamano
2011-04-10 15:11 ` [PATCH 02/11] revert: Lose global variables "commit" and "me" Ramkumar Ramachandra
2011-04-11 3:24 ` Christian Couder
2011-04-11 8:57 ` Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 03/11] revert: Introduce a struct to parse command-line options into Ramkumar Ramachandra
2011-04-10 19:21 ` Jonathan Nieder
2011-05-08 12:18 ` Ramkumar Ramachandra
2011-04-11 21:41 ` Junio C Hamano
2011-05-08 12:09 ` Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 04/11] revert: Separate cmdline argument handling from the functional code Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 05/11] revert: Catch incompatible command-line options early Ramkumar Ramachandra
2011-04-11 21:44 ` Junio C Hamano
2011-05-08 11:47 ` Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 06/11] revert: Implement parsing --continue, --abort and --skip Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 07/11] revert: Handle conflict resolutions more elegantly Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 08/11] usage: Introduce error_errno correspoding to die_errno Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 09/11] revert: Write head, todo, done files Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 10/11] revert: Give noop a default value while argument parsing Ramkumar Ramachandra
2011-04-10 15:11 ` [PATCH 11/11] revert: Implement --abort processing Ramkumar Ramachandra
2011-04-10 19:33 ` [RFC PATCH 00/11] Sequencer Foundations Daniel Barkalow
2011-04-11 8:55 ` Ramkumar Ramachandra
2011-04-10 19:47 ` Jonathan Nieder
2011-04-11 1:16 ` Daniel Barkalow
2011-04-11 6:42 ` Jonathan Nieder
2011-04-11 9:07 ` Ramkumar Ramachandra
2011-04-11 3:18 ` Christian Couder
2011-04-11 4:49 ` Ramkumar Ramachandra
2011-04-11 6:20 ` Christian Couder
2011-04-11 10:48 ` Ramkumar Ramachandra
2011-04-11 5:30 ` Daniel Barkalow
2011-04-11 5:38 ` Jonathan Nieder
2011-04-11 6:34 ` Daniel Barkalow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1302448317-32387-1-git-send-email-artagnon@gmail.com \
--to=artagnon@gmail.com \
--cc=barkalow@iabervon.org \
--cc=chriscool@tuxfamily.org \
--cc=git@vger.kernel.org \
--cc=jrnieder@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).