From: David Turner <dturner@twopensource.com>
To: Richard Ipsum <richard.ipsum@codethink.co.uk>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/2] contrib/git-candidate: Add README
Date: Tue, 10 Nov 2015 15:19:11 -0500 [thread overview]
Message-ID: <1447186751.20147.24.camel@twopensource.com> (raw)
In-Reply-To: <1447160198-23296-3-git-send-email-richard.ipsum@codethink.co.uk>
I didn't actually read the code. Instead, I started with the README and
decided to provide both text and UX comments all mixed up. These are
mostly my personal preferences; take them or leave them as you choose.
I'm really excited about this tool and I think it's got great potential!
On Tue, 2015-11-10 at 12:56 +0000, Richard Ipsum wrote:
> Describes motivation for git-candidate and shows an example workflow.
>
> Signed-off-by: Richard Ipsum <richard.ipsum@codethink.co.uk>
> ---
> contrib/git-candidate/README.md | 154 ++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 154 insertions(+)
> create mode 100644 contrib/git-candidate/README.md
>
> diff --git a/contrib/git-candidate/README.md b/contrib/git-candidate/README.md
> new file mode 100644
> index 0000000..d2d4437
> --- /dev/null
> +++ b/contrib/git-candidate/README.md
> @@ -0,0 +1,154 @@
> +git-candidate
I have not heard the name "candidate" used this way. What about "git
codereview"?
> +=============
> +
> +git-candidate provides candidate review and patch tracking,
> +it differs from other tools that provide this by storing _all_
> +content within git.
> +
> +## Why?
I've made a few suggestions below that you might think are out of scope.
If they are, it might be good to have a "non-goals" section so that
people know what the scope of the tool is.
> +Existing tools such as Github's pull-requests and Gerrit are already
> +in wide use, why bother with something new?
> +
> +We
who?
> are concerned that whilst
Today I learned: "whilst" can be used in the sense of "although" (I had
previously thought only "while" could be used this way, but I was wrong!
)
> git is a distributed version control
> +system the systems used to store comments and reviews for content
insert comma after "system"
> +under version control are usually centralised,
replace comma with period.
> +git-candidate aims to solve this by storing
> +all patch-tracking data in git proper.
s/tracking/tracking and review/ ? Or something
> +## Example review process
> +
> +### Contributor - Submits a candidate
> +
> + (hack hack hack)
> +
> + (feature)$ git commit -m "Add archived repo"
> + (feature)$ git candidate create archivedrepo master
> + -m "Add support for archived repo"
> + Candidate archivedrepo created successfully.
> + (feature)$ git candidate submit origin archivedrepo
> + Candidate was submitted successfully.
> +### Upstream - Reviews candidate
What happens if a third party wants to review candidate? OR is this
just the same as if upstream does it?
> + (master)$ git candidate fetch origin
> + (master)$ git candidate status origin/archiverepo
> + Revision: 6239bd72d597357af901718becae91cee2a32b73
> + Ref: candidates/origin/archiverepo
> + Status: active
> + Land: master
Could this be "Merge: master"? Or something that doesn't invent a new
term?
> + Add archived repo support
> +
> + lib/gitano/command.lua | 28 ++++++++++++++++++++++------
> + 1 file changed, 22 insertions(+), 6 deletions(-)
> +
> + (master)$ git show candidates/origin/archiverepo
> + commit 2db28539c8fa7b81122382bcc526c6706c9e113a
> + Author: Richard Ipsum <richard.ipsum@codethink.co.uk>
Probably better to use example.com addresses in the README rather than
real people. Git traditionally uses "A U Thor" as the fake name.
> + Date: Thu Oct 8 10:43:22 2015 +0100
> +
> + Add support for archived repository masking in `ls`
> +
> + By setting `project.archived` to something truthy, a repository
> + is thusly masked from `ls` output unless --all is passed in.
> +
> + Signed-off-by: Richard Ipsum <richard.ipsum@codethink.co.uk>
> + ....
> + ....
> +
> +
> + (master)$ git candidate review origin/archiverepo --vote -1
> + -m "Sorry, I'll need to see tests before I can accept this"
Are per-line or per-commit comments supported? If so, please add an
example of this.
> + (master)$ git candidate submit origin archiverepo
> + Review added successfully
Is the contributor automatically (optionally) emailed on this? If not,
consider this a feature request for this.
> +### Contributor - Revises candidate
> +
> + (master)$ git candidate fetch origin
> + (master)$ git candidate status origin/archiverepo
> + Revision: 6239bd72d597357af901718becae91cee2a32b73
> + Ref: candidates/origin/archiverepo
> + Status: active
> + Land: master
> +
> + Add archived repo support
> +
> + lib/gitano/command.lua | 28 ++++++++++++++++++++++------
> + 1 file changed, 22 insertions(+), 6 deletions(-)
> +
> + --------------------------------------------------------------------------------
> + 1 review
> + --------------------------------------------------------------------------------
> +
> + Author: Emmet Hikory <persia@shipstone.jp>
> + Date: Tue Oct 13 10:09:45 2015 +0100
> + Vote: -1
> +
> + Sorry, I'll need to see tests before I can accept this
> +
> + --------------------------------------------------------------------------------
> +
> + (hack hack hack add tests)
> +
> + (feature_v2)$ git log --oneline -1
> + Ensure the `ls` yarn checks for archived repos
> +
> + (feature_v2)$ git candidate revise origin/archiverepo
> + -m "Add archived repo support with tests"
> + Candidate archiverepo revised successfully.
> +
> + (feature_v2)$ git candidate submit origin archiverepo
> + Candidate was submitted successfully.
> +
> +### Upstream - Merges candidate
> +
> + (master)$ git candidate fetch origin
> + (master)$ git candidate status origin/archiverepo
> + Revision: 4cd3d1197d399005a713ca55f126a9086356a072
> + Ref: candidates/origin/archiverepo
> + Status: active
> + Land: master
> +
> + Add archived repo support with tests
> +
> + lib/gitano/command.lua | 28 ++++++++++++++++++++++------
> + testing/02-commands-ls.yarn | 19 +++++++++++++++++++
> + 2 files changed, 41 insertions(+), 6 deletions(-)
"git candidate diff" might be nice too to show the diff between v1 and
v2. You might even have "git candidate commit-diff" (or some better
name) so you can see which commit has changed in a changeset containing
multiple commits.
> + (master)$ git candidate review origin/archiverepo --vote +2
> + -m "Looks good, merging. Thanks for your efforts"
> + Review added successfully
Is that +2 "+1 because I like it, +1 because I previously -1'd it?" If
so, it might be nice to have --replace-vote so you don't have to track,
"wait, I did -1, then +1, then -1 again..."
> + (master)$ git candidate submit origin archiverepo
> + Candidate was submitted successfully.
I don't understand what the verb "submit" means here. Is it "mark this
as accepted"? If so, "accept" might be a better word.
> + (master)$ git merge candidates/origin/archiverepo
I would like "git candidate merge" to do a submit+merge the way that
pull does a fetch+merge. It seems like the common case. Also, if it
turns out at this point that there's a merge conflict, I might want to
back out the acceptance.
> + (master)$ git push origin master
> +
> +### Contributor - Observes candidate has been accepted
> +
> + (feature_v2)$ git candidate fetch origin
> + (feature_v2)$ git candidate status origin/archiverepo
> + Revision: 4cd3d1197d399005a713ca55f126a9086356a072
> + Ref: candidates/origin/archiverepo
> + Status: active
> + Land: master
> +
> + Add archived repo support with tests
> +
> + lib/gitano/command.lua | 28 ++++++++++++++++++++++------
> + testing/02-commands-ls.yarn | 19 +++++++++++++++++++
> + 2 files changed, 41 insertions(+), 6 deletions(-)
> +
> + --------------------------------------------------------------------------------
> + 1 review
> + --------------------------------------------------------------------------------
> +
> + Author: Emmet Hikory <persia@shipstone.jp>
> + Date: Tue Oct 13 10:35:00 2015 +0100
> + Vote: +2
> +
> + Looks good, merging. Thanks for your efforts
> +
> + --------------------------------------------------------------------------------
You should include here "git candidate remove archiverepo". And
somewhere an example of "git candidate list".
next prev parent reply other threads:[~2015-11-10 20:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-10 12:56 [PATCH 0/2] git-candidate: git based patch tracking and review Richard Ipsum
2015-11-10 12:56 ` [PATCH 1/2] contrib: Add git-candidate subcommand Richard Ipsum
2015-11-10 12:56 ` [PATCH 2/2] contrib/git-candidate: Add README Richard Ipsum
2015-11-10 20:19 ` David Turner [this message]
2015-11-11 9:48 ` Richard Ipsum
2015-11-11 20:15 ` David Turner
2016-01-06 20:50 ` Sebastian Schuberth
2015-11-11 9:55 ` [PATCH 0/2] git-candidate: git based patch tracking and review Michael Haggerty
2015-11-11 15:12 ` Richard Ipsum
2015-11-14 8:17 ` Jeff King
2015-11-14 13:07 ` Junio C Hamano
2015-12-01 20:55 ` Jonathan Nieder
2015-12-01 21:00 ` Dave Borowitz
2016-01-06 15:49 ` Richard Ipsum
-- strict thread matches above, loose matches on Subject: below --
2015-10-14 17:30 [RFC] Git " Richard Ipsum
2015-10-14 17:30 ` [PATCH 2/2] contrib/git-candidate: Add README Richard Ipsum
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1447186751.20147.24.camel@twopensource.com \
--to=dturner@twopensource.com \
--cc=git@vger.kernel.org \
--cc=richard.ipsum@codethink.co.uk \
/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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.