git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Alexandr Miloslavskiy <alexandr.miloslavskiy@syntevo.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org
Subject: Re: Support for --stdin-paths in commit, add, etc
Date: Thu, 1 Aug 2019 15:25:59 +0200	[thread overview]
Message-ID: <ab333992-35c6-a5a9-0bcb-cef51f004679@syntevo.com> (raw)
In-Reply-To: <20190731171956.GA26746@sigill.intra.peff.net>

On 31.07.2019 19:19, Jeff King wrote:
> I don't have any real objection to adding stdin support for more
> commands. Bu tin the specific case you're discussing, it seems like
> using "git update-index" might already solve your problem. It's the
> intended plumbing for scripted index updates, and it already supports
> receiving paths from stdin.

I have now studied which git commands already use commandline splitting
in our application. For some of them, I didn't find comparable plumbing;
for others, I feel that a lot of new edge cases will arise, and it will
need a lot of testing to make sure things work as expected.

Therefore, for us it would be best if high-level commands also accepted
--stdin-paths. If I develop good enough patches for that, will you
accept them?

We're interested in these high-level commands:
1) git add
2) git rm
3) git checkout
4) git reset
5) git stash
6) git commit

Here's the list of detailed commands and plumbings I found:
01) git add
     'git update-index' doesn't seem to be able to skip ignored files.
02) git add --force
     Probably 'git update-index --add --stdin'.
03) git checkout
     Probably 'git checkout-index --stdin'
04) git checkout HEAD
     Didn't find a plumbing to only affect named paths.
05) git checkout --ours
     Probably 'git checkout-index --stage=2 --force --stdin'
06) git checkout --theirs
     Probably 'git checkout-index --stage=3 --force --stdin'
07) git rm [--force] [--cached]
     Probably 'git update-index --force-remove'
     Didn't find how to delete files from working tree.
08) git reset -q HEAD
     Didn't find a plumbing to only affect named paths.
09) git add --update
     Probably 'git update-index --again --add --stdin'
     Not sure that --again is good replacement.
10) git stash push [--keep-index] [--include-untracked] [--message]
     Didn't find plumbing for stashes.
11) git commit [--allow-empty] [--amend] [--signoff] [--no-verify]
       --file=CommitMessage.txt -o
     Didn't find a plumbing to only affect named staged paths.

  parent reply	other threads:[~2019-08-01 13:26 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-31 15:45 Support for --stdin-paths in commit, add, etc Alexandr Miloslavskiy
2019-07-31 17:15 ` Junio C Hamano
2019-07-31 17:19 ` Jeff King
2019-07-31 21:21   ` Junio C Hamano
2019-08-01 13:25   ` Alexandr Miloslavskiy [this message]
2019-08-01 17:35     ` Phillip Wood
2019-08-01 20:26       ` Junio C Hamano
2019-08-01 20:40         ` Alexandr Miloslavskiy
2019-08-02 11:33     ` Johannes Schindelin
2019-08-02 11:45       ` Alexandr Miloslavskiy
2019-08-02 14:48         ` Johannes Schindelin
2019-08-02 14:52           ` Alexandr Miloslavskiy
2019-08-02 11:52       ` Alexandr Miloslavskiy
2019-08-02 14:47         ` Johannes Schindelin
2019-08-02 15:11           ` Alexandr Miloslavskiy
2019-08-01 14:26 ` René Scharfe
2019-08-01 14:33   ` Alexandr Miloslavskiy
2019-08-01 15:56   ` Junio C Hamano
2019-08-01 16:04     ` Alexandr Miloslavskiy
2019-08-01 20:45       ` Junio C Hamano
2019-08-01 20:51         ` Alexandr Miloslavskiy
2019-08-02 11:40           ` Johannes Schindelin
2019-08-02 11:44             ` Alexandr Miloslavskiy

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=ab333992-35c6-a5a9-0bcb-cef51f004679@syntevo.com \
    --to=alexandr.miloslavskiy@syntevo.com \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    /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).