我已经阅读了.gitattributes 上的文档,并在 Stack Overflow 上搜索了这个问题的简单答案,但到目前为止还没有找到。我有一个文件,里面有空格,就像这样。
Reserved\ Slots.txt merge=mergeslots
Run Code Online (Sandbox Code Playgroud)
我还尝试使用引号而不是转义空格。
"Reserved Slots.txt" merge=mergeslots
Run Code Online (Sandbox Code Playgroud)
如何对包含空格的文件使用自定义合并驱动程序?
这是我在尝试比较分支和主服务器之间的文件时得到的结果:
git diff gamemodes/terrortown/entities/entities/ttt_c4/shared.lua
master:gamemodes/terrortown/entities/entities/ttt_c4/shared.lua
fatal: Path 'gamemodes/terrortown/entities/entities/ttt_c4/shared.lua'
exists on disk, but not in 'master'.
Run Code Online (Sandbox Code Playgroud)
这是master上的文件:
$ git log -n 1 -- gamemodes/terrortown/entities/entities/ttt_c4/shared.lua
commit d0241471298ce617b68dcf268be1c0af0cf8170c
Author: me
Date: Fri Jan 1 23:25:17 2016 -0600
December 2015 Update
Run Code Online (Sandbox Code Playgroud)
这是我的分支real_disarm上的文件:
$ git log -n 1 -- gamemodes/terrortown/entities/entities/ttt_c4/shared.lua
commit 84a7de46b92b8747cf98a57a8f7101682377980e
Author: me
Date: Sun Jan 10 00:27:33 2016 -0600
Remove trailing whitespace
Run Code Online (Sandbox Code Playgroud)
显然,该文件存在于两个分支中.我正在比较文件的全部原因是因为我正在尝试删除尾随空格,以便我的补丁不会给出恼人的"警告:压制5个空格错误警告:10行添加空白错误." 输出.
我想指定我正在使用的自定义合并驱动程序位于我的存储库的根目录中,名为 mergebans.py。我已经尝试过以下路径......
$ git merge master
../mergebans.py .merge_file_h3Bq8r .merge_file_2sLmCK .merge_file_H38i62 7: 1: ../mergebans.py .merge_file_h3Bq8r .merge_file_2sLmCK .merge_file_H38i62 7: ../mergebans.py: not found
../mergebans.py .merge_file_knuMAl .merge_file_Pg9f5D .merge_file_Gb0JzW 7: 1: ../mergebans.py .merge_file_knuMAl .merge_file_Pg9f5D .merge_file_Gb0JzW 7: ../mergebans.py: not found
$ git merge master
../mergebans.py .merge_file_TBZ2ia .merge_file_dHaTFA .merge_file_7wEJ20 7: 1: ../mergebans.py .merge_file_TBZ2ia .merge_file_dHaTFA .merge_file_7wEJ20 7: ../mergebans.py: not found
../mergebans.py .merge_file_pzgQqr .merge_file_rvHXOR .merge_file_TYk5ci 7: 1: ../mergebans.py .merge_file_pzgQqr .merge_file_rvHXOR .merge_file_TYk5ci 7: ../mergebans.py: not found
$ git merge master …Run Code Online (Sandbox Code Playgroud) 现在,我正在尝试修复PrintBans.sh脚本中的问题.
问题是,生成这个文件的程序用\ r \n行结尾保存它,所以我需要while循环才能读取\ r \n行,否则在最后一行的末尾有一个额外的\ r \n导致算术失败:
- 621355968000000000")syntax error: invalid arithmetic operator (error token is "
Run Code Online (Sandbox Code Playgroud)
我试过这些.
while read ban
do
...
done < dos2unix $file
while read ban
do
...
done < `dos2unix $file`
cat $file > dos2unix > while read ban
do
...
done
while read ban
do
...
done < dos2unix < $file
Run Code Online (Sandbox Code Playgroud)
我也看到有些人定了IFS='\r\n',但这对我不起作用.
是否无法在不覆盖原始文件的情况下通过dos2unix管道文件?