0%

diff和patch是一对好基友。diff用于产生两个文件(或者说一个文件的两个版本)之间的差异补丁,patch用于应用补丁,从而使文件从一个版本变迁到另一个版本。

Read more »

除了标准的基本数据类型以外,用户还可以自定义数据类型对象,而且自定义类型对象还可以有方法,构造函数,这实质上就是OOP思想在DBMS里的投射。

Read more »

想编辑已经存在的PDF文件?如果你使用Libreoffice的话,那么很简单,安装libreoffice-pdfimport包就可以导入PDF进行编辑了,完成后还可以导出PDF。这其实就是安装了libreoffice扩展pdf import。#Debian#

向gerrit服务器提交代码时,发现如下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ git push origin HEAD:refs/for/devel

Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 297 bytes 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
fatal: Unpack error, check server log
remote: Resolving deltas: 100% (1/1)
error: unpack failed: error Missing unknown 40febad12460dee95f917b2e7a95869e039b1038
To ssh://cr/reis
! \[remote rejected\] HEAD -> refs/for/devel (n/a (unpacker error))
error: failed to push some refs to 'ssh://cr/project'

同时gerrit服务器端日志有如下错误:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ERROR com.google.gerrit.sshd.BaseCommand : Internal server error (user admin account 1000000)
during git-receive-pack '/xxx'
com.google.gerrit.sshd.BaseCommand$Failure: fatal: Unpack error, check server log
at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:162)
...
Caused by: java.io.IOException: Unpack error on project "reis":
AdvertiseRefsHook: org.eclipse.jgit.transport.AdvertiseRefsHookChain@23c6488aclass
org.eclipse.jgit.transport.AdvertiseRefsHookChain
...
Caused by: org.eclipse.jgit.errors.UnpackException: Exception while parsing pack stream
...
Caused by: org.eclipse.jgit.errors.MissingObjectException:
Missing unknown 40febad12460dee95f917b2e7a95869e039b1038
at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:148)

是因为丢失了对象40febad12460dee95f917b2e7a95869e039b1038才提示这些错误。

为什么会丢失对象呢,因为测试的时候直接删除掉了repository,而这个repo还有打开的changes。虽然仓库被移除了,但是gerrit数据库里的记录还在。
已经merged和adandoned对象不会有问题。所以需要将这些orphan关闭掉。

连上gerrit数据库,然后将对应的changes关闭就可以了:

1
=> update changes set open='N',status='A' where ...

===
[erq]

Gerrit新建项目的权限继承自内置项目All-Projects,默认的权限已经十分完善,但仍然需要做一些微调来满足实际的需要。

Read more »