git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 1/3] git-submodule: New subcommand 'summary' (1) - code framework

From
Ping Yin <pkufranky@gmail.com>
Date
Mar 1, 2008, 10:28 UTC
Message-ID
<46dff0320803010228g2d4672c3qd0548133d43b11a@mail.gmail.com>
In-Reply-To
<46dff0320803010201q72a72et951e0a3f090684e4@mail.gmail.com>
On Sat, Mar 1, 2008 at 3:28 PM, Junio C Hamano <gitster@pobox.com> wrote:
 >
 > Ping Yin <pkufranky@gmail.com> writes:
> > .Example: a super project with modified/deleted/typechanged submodules sm1 to sm5.
 >
 > Overlong lines.  What's the dot before "Example"?
 '.' is an asciitext syntax. Maybe i should not use it in a commit message.
 > >
 > > sm3 and sm4 are submodules with typechanging (blob<->submodule).
 >
 > Are they?  I think you meant 4 and 5.
 >
 oh, it's a typo
 >
 > > This patch just gives the framework. It just finds the submodules to be
 > > shown as follows.
 > >
 > > --------------------------------------------
 > >  $ git submodule summary
 > >  # Submodules modifiled: sm1 sm2 sm3 sm4 sm5
 > >  #
 > > --------------------------------------------
 >
 > Probably it would be a better organization to show only this in the commit
 > log message for [1/3] and describe how the output is enhanced in the log
 > message of the commit as the code builds more .
 >
 Nice suggestion. Should i move most text into man page instead of in
 commit message?
 >
 > > +# @ = [head counting commits from (default 'HEAD'),] requested
paths (default to all)
 > > +#
 >
 > What's "@ =" convention?
 typo again, should be $@
 >
 > > +cmd_summary()
 > > +{
 >
 > We seem to have '{' on the same line for shell functions in our scripts.
 >
 ok
 >
 > > +     # parse $args after "submodule ... summary".
> > +     while test $# -ne 0
 > > +     do
 > > +             case "$1" in
 > > +             --cached)
 > > +                     cached=1
 > > +                     ;;
 >
 > If you do this "cached="$1" instead here, then you do not need to do ...
 >
 > > +     cache_option=${cached:+--cached}
 >
 > ... this.
 >
 --cached may be passed before 'summary' subcommand. So in the outer
 option parsing should i replace cached=1 to cached=$1 just in this
 patch or in another patch?
 >
 > > +
 > > +     if rev=$(git rev-parse --verify "$1^0" 2>/dev/null)
> > +     then
 > > +             head=$rev
 > > +             shift
 > > +     else
 > > +             head=HEAD
 > > +     fi
 >
 > Hmph, is showing diff with anything other than HEAD useful?  What happens
 > if the user says "git submodules status HAED" by mistake?
 >
 s/status/summary ?
 This patch has nothing to do with git submodule status.
 'git submodule summary' and 'git submodule summary HEAD' is equivalent
 Except HEAD, HEAD^ is neccessary. Since my target is to call 'git
 submodule summary' in wt-status.c and teach git-status and git-commit
 show this summary. So when 'git commit --amend', 'git submodule
 summary HEAD^' should be used.
 >
 > > +
 > > +     cwd=$(pwd)
> > +     cd_to_toplevel
 > > +
 > > +     # Get modified modules cared by user
 > > +     modules=$(git diff $cache_option --raw $head -- "$@" |
 >
 > When scripting, please do not use "git diff" unless absolutely necessary.
 > Its output is not meant for script consumption and can be made more "user
 > friendly" as user request comes in.  Instead, use "git diff-index" here.
 ok
 >
 > > +     test -n "$modules" &&
> > +     echo "# Submodules modified: "$modules &&
 > > +     echo "#"
 > > +     cd "$cwd"
 >
 > Hmph, is there any point to try coming back there?  You could have even
 > done the cd-to-toplevel inside of $( ... ) construct which is run inside a
 > subshell, so...
 >
 Hmm,  just to avoid side effect of this function.  I'll put 'cd' into
 the subshell
 --
 Ping Yin
Previous: Ping YinNext: Ping Yin
Message 19 of 20 in “git-submodule: New subcommand 'summary'”
  1. 0/3 git-submodule: New subcommand 'summary'Ping Yin, Feb 29, 2008
  2. 1/3 git-submodule: New subcommand 'summary' (1) - code frameworkPing Yin, Feb 29, 2008
  3. 2/3 git-submodule: New subcommand 'summary' (2) - hard workPing Yin, Feb 29, 2008
  4. 3/3 git-submodule: New subcommand 'summary' (3) - limit summary sizePing Yin, Feb 29, 2008
  5. Junio C HamanoMar 1, 2008
  6. Ping YinMar 1, 2008
  7. Junio C HamanoMar 1, 2008
  8. Junio C HamanoMar 1, 2008
  9. Ping YinMar 1, 2008
  10. Ping YinMar 7, 2008
  11. Jakub NarebskiMar 7, 2008
  12. Ping YinMar 7, 2008
  13. Junio C HamanoMar 7, 2008
  14. Junio C HamanoMar 1, 2008
  15. Ping YinMar 1, 2008
  16. Junio C HamanoMar 1, 2008
  17. Junio C HamanoMar 2, 2008
  18. Ping YinMar 2, 2008
  19. Ping YinMar 1, 2008
  20. Ping YinMar 1, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.