Re: Support for --stdin-paths in commit, add, etc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux