Git警告:“清空上次更新令牌,”

bq3bfh9z  于 2022-10-23  发布在  Git
关注(0)|答案(3)|浏览(336)

git警告消息“清空上次更新令牌”的原因和解决方法是什么?
我有一个存储库,每个命令都会打印此警告,例如。

$ git status
warning: Empty last update token.
On branch foo
Your branch is up to date with 'origin/foo'.

$ git fetch
warning: Empty last update token.

$ git reset --hard
warning: Empty last update token.
Updating files: 100% (79/79), done.
HEAD is now at e1c42a2 blah

$ git prune
warning: Empty last update token.

命令似乎仍然成功。警告消息完全混淆了git扩展之类的外部工具,当git status包含任何意外输出时,它会显示“未解决的合并冲突”。
这个问题只发生在一台特定电脑上的本地存储库上,但将.git文件夹复制到另一台电脑会重现这个问题。
我可以删除本地副本并重新开始,但我想确定原因,甚至可能保存这些藏品。

fiei3ece

fiei3ece1#

这不是一个很好的答案,但它为我消除了错误信息:
检查core.fsMonitor是否打开:

$ git config core.fsMonitor
true

如果true,则将其关闭:

$ git config core.fsMonitor false

$ git config core.fsMonitor
false

有关此线程的更多信息:https://public-inbox.org/git/4aa1293e-00b6-b9ef-efd4-cdf605db37a1@jeffhostetler.com/

xytpbqjk

xytpbqjk2#

@kaveman是对的,这显然是2.37年在git for Windows和Mac OS中内置的新文件系统监控守护程序。当我在.gitconfig中启用core.fsMonitor = true时,git 2.35.1打印了相同的清空上次更新令牌警告。在我升级到git 2.37之后,警告消失了。

iecba09b

iecba09b3#

注意:在Mac上,fsmonitor可能更适合Git 2.39(2022年第4季度):默认情况下,在网络文件系统上的存储库上禁用fsmonitor
添加旋钮,使其在macOS上可用。
commit c4f9490(2022年10月10日)。
参见Eric DeCosta ( edecosta-mw )commit 5aa9e32commit 25c2cabcommit 12fd27dcommit 8f44976(2022年10月4日)。
(由Junio C Hamano -- gitster --commit 7b8cfe3中合并,2022年10月17日)

签字人:Eric DeCosta
从macOS 10.15(Catalina)开始,Apple引入了一个名为“firmlinks”的新功能,以便将引导卷分成两个卷,一个只读,一个可写,但仍将它们作为单个卷呈现给用户。
伴随着这一变化,苹果公司取消了在根目录中创建符号链接的能力,并将其替换为“合成链接”。
参见“man synthetic.conf
当FSEevents报告更改文件的路径时,如果路径涉及合成firmlink,则从合成firmllink的点报告路径,而不是实际路径。
例如:

  • 实际路径:/System/Volumes/Data/network/working/directory/foo.txt
  • 合成硬链:/network -> /System/Volumes/Data/network
  • FSEvents路径:/network/working/directory/foo.txt

这会导致FSEvents路径与工作树目录不匹配。
有几种方法可以创建合成firmlink:它们可以在/etc/synthetic.conf中定义,自动安装程序可以创建它们,还有其他方法。
仅仅读取/etc/synthetic.conf是不够的。
无论是什么过程创建合成的firmlinks,它们都是在根目录中创建的。
因此,为了处理合成firmlink,将扫描根目录,并使用第一个可能的合成firmllink(解析后是工作树的前缀)将FSEvents路径Map到工作树路径。
此外,Git 2.39(2022年第4季度)还支持使用sha1dc哈希函数构建macOS。
Ævar Arnfjörð Bjarmason ( avar )commit 3220565(2022年10月19日)。
(由Junio C Hamano -- gitster --合并到commit cc75743,2022年10月21日)

fsmonitor OSX:使用DC_SHA1=YesPlease编译

签字人:Eric DeCosta
签字人:Ævar ArnfjörðBjarmason
正如我们将在随后的提交中提到的,在OSX上默认情况下,"DC_SHA1=YesPlease"未启用,而是使用Apple Common Crypto的SHA-1实现。
6beb268(“fsmonitor:如果.git目录是远程的,则重新定位套接字文件”,2022-10-04,git v2.39.0——batch #3中列出的merge)中,构建被"DC_SHA1=YesPlease"(可能还有其他non-"APPLE_COMMON_CRYPTO" SHA-1后端)破坏。
因此,让我们从this thread中提取对此的修复,以使构建在"DC_SHA1=YesPlease"上再次运行。
除了[1]中的修复之外,我们还需要将"SHA_DIGEST_LENGTH"替换为"GIT_MAX_RAWSZ"

相关问题