Skip to content

Commit

Permalink
Fix commit compile
Browse files Browse the repository at this point in the history
  • Loading branch information
alexsunxl committed Nov 25, 2022
1 parent 7e4df38 commit 4a50d02
Show file tree
Hide file tree
Showing 6 changed files with 249 additions and 165 deletions.
18 changes: 17 additions & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,21 +50,26 @@ jobs:
run: |
cd src
cargo build -p code-dao-service --release
cargo build -p square-service --release
- name: Achive(windows)
if: matrix.os == 'windows-latest'
shell: bash
run: |
echo "ASSET=./src/target/release/code-dao-service.exe" >> $GITHUB_ENV
echo "ASSET_NAME=code-dao-service.exe" >> $GITHUB_ENV
echo "ASSET_SQUARE=./src/target/release/square-service.exe" >> $GITHUB_ENV
echo "ASSET_SQUARE_NAME=square-service.exe" >> $GITHUB_ENV
- name: Achive(linux)
if: matrix.os == 'ubuntu-latest'
run: |
echo "ASSET=./src/target/release/code-dao-service" >> $GITHUB_ENV
echo "ASSET_NAME=code-dao-service" >> $GITHUB_ENV
echo "ASSET_SQUARE=./src/target/release/square-service" >> $GITHUB_ENV
echo "ASSET_SQUARE_NAME=square-service" >> $GITHUB_ENV
- name: Upload Release Asset
- name: Upload Release Asset(dec-service)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -74,3 +79,14 @@ jobs:
asset_name: ${{ env.ASSET_NAME }}
asset_content_type: application/octet-stream

- name: Upload Release Asset(square-service)
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create-release.outputs.upload_url }}
asset_path: ${{ env.ASSET_SQUARE }}
asset_name: ${{ env.ASSET_SQUARE_NAME }}
asset_content_type: application/octet-stream


2 changes: 1 addition & 1 deletion src/code-dao-cli/src/push.rs
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ impl Push {
.root_state_stub(Some(self.ood), Some(dec_id()))
.create_path_op_env()
.await?;
let commit_path = rootstate_repo_commit2(&self.name, commit_object.object_id());
let commit_path = rootstate_repo_commit(&self.name, commit_object.object_id());
env.set_with_path(
commit_path,
&commit_object.desc().calculate_id(),
Expand Down
67 changes: 38 additions & 29 deletions src/code-dao-service/src/controller/commit.rs
Original file line number Diff line number Diff line change
@@ -1,25 +1,21 @@

use cyfs_lib::*;
use async_std::sync::Arc;
use cyfs_base::*;
use cyfs_git_base::*;
use cyfs_lib::*;
use log::*;
use async_std::sync::Arc;
use serde::{Deserialize, Serialize};
use serde_json::{json};
use cyfs_git_base::*;
use serde_json::json;

// use std::str::FromStr;
// use super::repository::*;



#[derive(Serialize, Deserialize)]
struct RequestRepositoryCommits {
author_name: String,
name: String,
branch: String,
}


#[derive(Serialize, Deserialize)]
struct RequestRepositoryCommit {
author_name: String,
Expand All @@ -36,15 +32,19 @@ pub async fn repository_commits(ctx: Arc<PostContext>) -> BuckyResult<NONPostObj
return Ok(result);
}

let repository = RepositoryHelper::get_repository_object(&ctx.stack, &data.author_name, &data.name).await?;
let repository =
RepositoryHelper::get_repository_object(&ctx.stack, &data.author_name, &data.name).await?;
// let commit_object_path = RepositoryHelper::commit_object_map_path(&data.author_name, &data.name);
let env = ctx.stack_env().await?;

let commits = git_commits(repository.repo_dir(), &data.branch)?;

let mut result_data: Vec<serde_json::Value> = Vec::new();
for item in commits {
let key = commit_object_map_key(&data.author_name, &data.name, &item.object_id);
let key = rootstate_repo_commit(
&format!("{}/{}", data.author_name, data.name),
&item.object_id,
);
info!("commit full path {}", key);
let commit_object_id = env.get_by_path(&key).await?;
if commit_object_id.is_none() {
Expand All @@ -56,12 +56,12 @@ pub async fn repository_commits(ctx: Arc<PostContext>) -> BuckyResult<NONPostObj
"id": commit.id(),
"oid": commit.object_id(),
"object_id": commit.object_id(),
"parent": commit.parent(),
"tree": commit.tree_oid(),
"parents": commit.parents(),
"tree_id": commit.tree_id(),
"payload": commit.payload(),
"message": commit.payload(),
"author": commit.author(),
"committer": commit.committer(),
//"author": commit.author(),
//"committer": commit.committer(),
}));
}
// loop {
Expand All @@ -73,7 +73,7 @@ pub async fn repository_commits(ctx: Arc<PostContext>) -> BuckyResult<NONPostObj
// // println!("item: {:?}", item);
// let (oid, _) = item.into_map_item();
// let commit_id = env.get_by_key(oid).await?;
// if commit_id.is_some() {
// if commit_id.is_some() {
// let buf = get_object(stack, commit_id.unwrap()).await?;
// let commit = Commit::clone_from_slice(&buf)? as Commit;
// data.push(json!({
Expand All @@ -91,10 +91,9 @@ pub async fn repository_commits(ctx: Arc<PostContext>) -> BuckyResult<NONPostObj
// }
// }

Ok(success(json!({"data": result_data})))
Ok(success(json!({ "data": result_data })))
}


/// # repository_commit
/// commit 详细信息
pub async fn repository_commit(ctx: Arc<PostContext>) -> BuckyResult<NONPostObjectInputResponse> {
Expand All @@ -103,38 +102,48 @@ pub async fn repository_commit(ctx: Arc<PostContext>) -> BuckyResult<NONPostObje
return Ok(result);
}

let repository = RepositoryHelper::get_repository_object(&ctx.stack, &data.author_name, &data.name).await?;

let repository =
RepositoryHelper::get_repository_object(&ctx.stack, &data.author_name, &data.name).await?;

let env = ctx.stack_env().await?;
let commit_object_path = commit_object_map_key(&data.author_name, &data.name, &data.commit_id);
let commit_object_path = rootstate_repo_commit(
&format!("{}/{}", data.author_name, data.name),
&data.commit_id,
);

let result = env.get_by_path(commit_object_path).await?;
if result.is_none() {
return Ok(failed("没有找到对应的 commit"))
return Ok(failed("没有找到对应的 commit"));
}

let commit_id = result.unwrap();
let buf = get_object(&ctx.stack, commit_id).await?;
let commit = Commit::clone_from_slice(&buf)? as Commit;

info!("git_show_commit_diff {:?} {:?}", commit.parent(), commit.object_id());

let diff = git_show_commit_diff(repository.repo_dir(), commit.parent(), commit.object_id())?;
info!(
"git_show_commit_diff {:?} {:?}",
commit.parents(),
commit.object_id()
);

let diff = git_show_commit_diff(
repository.repo_dir(),
&commit.parents()[0],
commit.object_id(),
)?;

Ok(success(json!({"data": {
"header_info": {
"id": commit.id(),
"oid": commit.object_id(),
"object_id": commit.object_id(),
"parent": commit.parent(),
"tree": commit.tree_oid(),
"parents": commit.parents(),
"tree_id": commit.tree_id(),
"payload": commit.payload(),
"message": commit.payload(),
"author": commit.author(),
"committer": commit.committer(),
//"author": commit.author(),
//"committer": commit.committer(),
},
"diff": diff,
}})))
}

Loading

0 comments on commit 4a50d02

Please sign in to comment.