下载代码的一些命令-小记

如果你喜欢,聊历史,思哲学,品诗集,赏国学。

那就关注公众号:二校五叔

这个是博主的文学公众号啦

repo init -u git://git.quicinc.com/platform/manifest -b refs/tags/AU_LINUX_ANDROID_LNX.LA.3.7.1.1_RB1.04.04.04.229.102 -m versioned.xml --repo-url=git://git.quicinc.com/tools/repo --repo-branch=aosp/stable
-u是从仓库中把manifest文件下下来到:.repo/manifest.git中,这是一个裸区不能工作,然后拷贝一个工作区进行工作:.repo/manifests,拷贝的内容是-b refs/tags后面的tag号
.repo/manifests里面的内容是:
-rw-r----- 1 c_xlin users 78621 Jun 11 19:51 caf_versioned.xml
-rw-r----- 1 c_xlin users 370180 Jun 11 19:51 default.xml
drwxr-x— 2 c_xlin users 4096 Jun 11 19:51 grease
-rw-r----- 1 c_xlin users 16812 Jun 11 19:51 grease_versioned.xml
-rw-r----- 1 c_xlin users 102198 Jun 11 19:51 omniscan_versioned.xml
-rw-r----- 1 c_xlin users 403952 Jun 11 19:51 preflight_versioned.xml
-rw-r----- 1 c_xlin users 108612 Jun 11 19:51 versioned.xml
各种xml,每个xml对应一种代码的sync,其中记得两个:
versioned.xml------------指定某个tag号的代码下载
default.xml----------------指定最新的tip 的tag号来下载代码
那么在哪里引用这个xml呢

在.repo目录下的的manifest.xml里面,它会软连接到上面的其中两个xml中

下面进行一个小实验,就是收到把tag号改成某个au
首先进入.repo/manifests中把里面的所有xml都切换成某个au:
git reset --hard TAG号

退出到外面,把manifest.xml删除
rm manifest.xml ---------- y

重新生成manifest.xml,把他指向你需要进行用的xml
ln -sn manifests/versioned.xml manifest.xml

这个时候直接执行repo sync就行了,

一个问题:push的时候
git push ssh://bxu@review-android.quicinc.com:29418/platform/vendor/qcom/ferrum HEAD:LNX.LA.3.7.1.1
To ssh://bxu@review-android.quicinc.com:29418/platform/vendor/qcom/ferrum
! [rejected] HEAD -> LNX.LA.3.7.1.1 (non-fast-forward)
error: 无法推送一些引用到 ‘ssh://bxu@review-android.quicinc.com:29418/platform/vendor/qcom/ferrum’
提示:更新被拒绝,因为推送的一个分支的最新提交落后于其对应的远程分支。
提示:检出该分支并整合远程变更(如 ‘git pull …’),然后再推送。详见
提示:‘git push --help’ 中的 ‘Note about fast-forwards’ 小节。
解决:
HEAD:LNX.LA.3.7.1.1 当前分支:远程分支
远程分支要refs/for/LNX.LA.3.7.1.1,需要review的分支
LNX.LA.3.7.1.1不需要review的分支,权限没有

repo sync 出现问题
cannot fetch kernel/lk(GitError: kernel/lk update-ref:…)
error: Exited sync due to fetch errors
解决办法:
是拉代码的时候远程的仓库出现的问题
去找相应的component的地址,然后更改:
vim .repo/projects/bootable/bootloader/lk.git/conifg
更改里面的为:
url = git://git-android.quicinc.com/kernel/lk

git remote update

现在不妨换换思路,瞧点文学东西

如果你喜欢,聊历史,思哲学,品诗集,赏国学。

那就关注公众号:二校五叔

这个是博主的文学公众号啦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Protobuf是一种高效的序列化协议,可以用于数据交换和数据存储。它的主要优势是大小小,速度快,可扩展性强。下面是使用Protobuf的一些小记: 1. 定义消息格式 首先,需要定义消息格式,以便Protobuf可以将数据序列化和反序列化。消息格式定义在.proto文件中,使用protobuf语言编写。例如,下面是一个简单的消息格式定义: ``` syntax = "proto3"; message Person { string name = 1; int32 age = 2; } ``` 这个消息格式定义了一个名为Person的消息,包含两个字段:name和age。 2. 生成代码 一旦消息格式定义好,就可以使用Protobuf编译器生成代码。编译器将根据消息格式定义生成相应的代码,包括消息类、序列化和反序列化方法等。可以使用以下命令生成代码: ``` protoc --java_out=. message.proto ``` 这将生成一个名为message.pb.java的Java类,该类包含Person消息的定义以及相关方法。 3. 序列化和反序列化 一旦生成了代码,就可以使用Protobuf序列化和反序列化数据。例如,下面是一个示例代码,将一个Person对象序列化为字节数组,并将其反序列化为另一个Person对象: ``` Person person = Person.newBuilder() .setName("Alice") .setAge(25) .build(); byte[] bytes = person.toByteArray(); Person deserializedPerson = Person.parseFrom(bytes); ``` 这个示例代码创建了一个Person对象,将其序列化为字节数组,然后将其反序列化为另一个Person对象。在这个过程中,Protobuf使用生成的代码执行序列化和反序列化操作。 以上是使用Protobuf的一些基本步骤和注意事项,希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值