All of lore.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Brandon Casey <casey@nrlssc.navy.mil>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/5] Make mktag a builtin.
Date: Mon, 12 May 2008 11:41:13 -0700	[thread overview]
Message-ID: <7vej87z7p2.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: 48285DAB.2040707@nrlssc.navy.mil

Brandon Casey <casey@nrlssc.navy.mil> writes:

> I didn't think I should move the non-builtin mktag.c to builtin-mktag.c,
> and then after I modified mktag to be a builtin I knew I was moving it
> to builtin-tag.c so I didn't see a point to renaming it.

I see.  I did not realize that the eventual shape would be to have both
mktag and tag to be in builtin-tag.c, just like builtin-log.c supports
many other commands from the log family, and that was where my question
came from.

But I think the arrangement to have both in builtin-tag.c actually makes
sense --- mktag needs to be kept supported but most of its internal should
be shared with tag anyway.

> Also, I decided about those things _before_ I realized how small the changes
> would be to mktag to make it a builtin.
>
> Do you think the modified patch you posted conflicts with the idea that
> "code move should be separate from code change"?

Yes, it does, but I do not subscribe to the "idea".  Therefor I do not see
any problem.

If you were to stop at making mktag a builtin, then the patch I sent would
be the change that is necessary to do so.  A code movement can and often
does need some adjustment (e.g. if you move "a.c" to "src/a.c", its
'#include "a.h"' may need to become '#include "../a.h"' (or preferably to
'#include <a.h>' with appropriate -I.. option in the Makefile).  It does
not help anybody to insist on a blanket dogma that forbids modification
and movement at the same time.

We do discourage rolling unrelated things in one commit, but creating a
builtin "foo" typically involves creation of builtin-foo.c and associated
changes to the Makefile and builtin.h, and in this case the initial
contents of builtin-mktag.c happens to come from an existing file mktag.c,
while making the original mktag.c obsolete and unnecessary along the way.
That is a single logical change, and I do not think there is anything
wrong to do it in one commit. In fact, splitting such a change into more
than one commit is just plain silly and wrong, isn't it?

  parent reply	other threads:[~2008-05-12 18:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1210299589-10448-1-git-send-email-drafnel@example.com>
2008-05-09  2:19 ` [PATCH 1/5] mktag.c: adjust verify_tag parameters drafnel
2008-05-11 18:39   ` Junio C Hamano
2008-05-12 15:43     ` Brandon Casey
     [not found] ` <1210299589-10448-2-git-send-email-drafnel@example.com>
2008-05-09  2:19   ` [PATCH 2/5] Make mktag a builtin drafnel
2008-05-11 17:28     ` Junio C Hamano
2008-05-11 17:36       ` Junio C Hamano
2008-05-12 15:09       ` Brandon Casey
2008-05-12 17:04         ` Johannes Schindelin
2008-05-12 17:32           ` Brandon Casey
2008-05-12 18:41         ` Junio C Hamano [this message]
     [not found]   ` <1210299589-10448-3-git-send-email-drafnel@example.com>
2008-05-09  2:19     ` [PATCH 3/5] mktag.c: rename verify_tag to verify_tag_buffer drafnel
     [not found]     ` <1210299589-10448-4-git-send-email-drafnel@example.com>
2008-05-09  2:19       ` [PATCH 4/5] mktag.c: consolidate tag functions by merging mktag.c into builtin-tag.c drafnel
     [not found]       ` <1210299589-10448-5-git-send-email-drafnel@example.com>
2008-05-09  2:19         ` [PATCH 5/5] git-tag: call verify_tag_buffer to validate the generated tag object drafnel

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=7vej87z7p2.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=casey@nrlssc.navy.mil \
    --cc=git@vger.kernel.org \
    /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.