这一切都始于我注意到我的存储库大小以每日1GB的速度增加.我做了一个简单的测试.创建了大小为35KB的现有文件夹的分支/标记.我记下了修订号,然后去了$REPO/db/revs/<K-rev>/rev-number/并检查了修改的大小.这是1兆字节.这听起来很可疑.关于这里可能出错的任何想法.我的回购大小约为350GB,大约有600,000个版本.
PS我已经开始重建整个存储库,看看是否有任何不同,但可能需要数天才能完成.
我正在用JavaScript创建位掩码。它对于位0到14正常工作。当我仅将15位设置为1时,它会产生“ -2147483648”而不是“ 2147483648” 的整数值。我可以通过返回214748364815位数的硬编码“ ”来进行特殊情况的破解,但是我想知道正确的方法。
样例代码:
function join_bitmap(hex_lower_word, hex_upper_word)
{
var lower_word = parseInt(hex_lower_word, 16);
var upper_word = parseInt(hex_upper_word, 16);
return (0x00000000ffffffff & ((upper_word<<16) | lower_word));
}
Run Code Online (Sandbox Code Playgroud)
当hex_lower_word为“ 0x0”且hex_upper_word为“ 0x8000”而不是2147483648时,以上代码返回-2147483648
我在UNIX上使用bash(sparc 10)
for file in $SCPATH/$LIBNAME/*.{gob,c,cpp,h};
do
ln -s $file;
done;
Run Code Online (Sandbox Code Playgroud)
问题是:如果没有扩展名为'c'的文件,它会将" .c"放在$ file中,而ln -s将创建一个指向' .c' 的链接.这是一个知道问题吗?我怎样才能绕过它(除了显而易见的'如果不是*.c'黑客).
bash ×1
for-loop ×1
fsfs ×1
javascript ×1
repository ×1
scripting ×1
shell ×1
size ×1
svn ×1
unix ×1