1、当天站立式会议照片

会议内容:

本次会议为第六次会议

本次会议在陆大楼3楼召开,本次会议内容:

①:检查总结上次任务完成情况

②:安排今天的分工

③:对昨天的问题进行讨论

④:遇到困难,及时群里反馈

2. 每个人的工作 (有work item 的ID)

工作中遇到的困难:

随着beta计划的进行,到现在已经六天了,渐渐的我们的项目越来越完善,同时也会遇到很多困难,但是我们每天都会召开团队会议,对前一天遇到的问题进行讨论并想方法解决,马上beta计划就也要结束了,相信我们会成功发布项目。

3. 发布项目燃尽图;请用专业的工具完成



横坐标:工作日,以天为单位,一共七天,代表着beta冲刺阶段的时间一共为7天

纵坐标:剩余卡片数,以卡片数为单位,代表着每一个任务。

黄线:代表设置的卡片数在规定的工作日内的理想的完成情况。

蓝线:表示我们实际完成的卡片数。

4. 代码签入记录:

https://coding.net/u/hts-technology/p/CodeManagement/git/tree/master

部分代码:

/**
* 打开远程仓库
*
* @param repositoryPath
* @return
*/
public static Repository openRepository(String repositoryPath) {
Repository repository = null;
try {
Git git = Git.open(new File(repositoryPath));
repository = git.getRepository();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 將本地倉庫打開
return repository;
} /**
* git pull
*
* @param repositoryPath
*/
public static Repository pullFromRemoteRepository(Git git) {
try {
git.pull().call();
} catch (GitAPIException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return git.getRepository();
} /**
* 統計給定commitID后所有commit信息
*
*/
public static void diffBetweenCommit(String repositoryPath, String lastcommitId) {
Git git;
Repository repository;
try {
git = Git.open(new File(repositoryPath));
repository = pullFromRemoteRepository(git);
RevWalk walk = new RevWalk(repository);
Ref head = repository.findRef("HEAD");
List<RevCommit> commitList = new ArrayList<>();
Iterable<RevCommit> commits;
try {
commits = git.log().all().call();
for (RevCommit commit : commits) {
commitList.add(commit);
}
int numCommit = commitList.size(); // 获取上一次的commit在list中的位置
int fromIdToWirte = 0;
for (int i = numCommit - 1; i > 0; i--) {
if (commitList.get(i).getId().getName().equals(lastcommitId)) {
fromIdToWirte = i;
break;
}
} for (int i = fromIdToWirte; i > 0; i--) { // 得到commit的时间
long sec = commitList.get(i).getCommitTime() * 1000;
Date dat = new Date(sec);
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(dat);
java.text.SimpleDateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String newCommitTime = format.format(gc.getTime()); // 得到两次commit的不同之处
AbstractTreeIterator oldTree = prepareTreeParser(repository, commitList.get(i));
AbstractTreeIterator newTree = prepareTreeParser(repository, commitList.get(i - 1));
List<DiffEntry> diff = git.diff().setOldTree(oldTree).setNewTree(newTree)
.setShowNameAndStatusOnly(true).call(); // 格式化输出格式
ByteArrayOutputStream out = new ByteArrayOutputStream();
DiffFormatter df = new DiffFormatter(out);
df.setDiffComparator(RawTextComparator.WS_IGNORE_ALL);// 设置比较器为忽略空白字符对比(Ignores
// all
// whitespace) df.setRepository(git.getRepository()); //统计newCommit与OldCommit新增了多少行,减少了多少行
for (DiffEntry diffEntry : diff) { // 获取文件差异位置,从而统计差异的行数,如增加行数,减少行数
FileHeader fileHeader;
fileHeader = df.toFileHeader(diffEntry);
List<HunkHeader> hunks = (List<HunkHeader>) fileHeader.getHunks();
int addSize = 0;
int subSize = 0;
for (HunkHeader hunkHeader : hunks) {
EditList editList = hunkHeader.toEditList();
for (Edit edit : editList) {
subSize += edit.getEndA() - edit.getBeginA();
addSize += edit.getEndB() - edit.getBeginB();
}
}
out.reset();
} }
} catch (GitAPIException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } public static AbstractTreeIterator prepareTreeParser(Repository repository, RevCommit commit) throws IOException {
System.out.println(commit.getId());
try (RevWalk walk = new RevWalk(repository)) {
System.out.println(commit.getTree().getId());
RevTree tree = walk.parseTree(commit.getTree().getId());
CanonicalTreeParser oldTreeParser = new CanonicalTreeParser();
try (ObjectReader oldReader = repository.newObjectReader()) {
oldTreeParser.reset(oldReader, tree.getId());
}
walk.dispose();
return oldTreeParser;
} catch (Exception e) { }
return null;
}

团队作业8——第二次项目冲刺(Beta阶段)5.25的更多相关文章

  1. 团队作业8 ----第二次项目冲刺(Beta阶段)博客汇总

    一.冲刺计划安排 团队作业8--Beta版本冲刺计划及安排 二.七天冲刺汇总 [Beta]第一次Daily Scrum Meeting [Beta]第二次Daily Scrum Meeting [Be ...

  2. 团队作业7——第二次项目冲刺-Beta版本项目计划

    上一个阶段的总结: 在Alpha阶段,我们小组已近完成了大部分的功能要求,小组的每一个成员都发挥了自己的用处.经过了这么久的磨合,小组的成员之间越来越默契,相信在接下来的合作中,我们的开发速度会越来越 ...

  3. 团队作业7——第二次项目冲刺(Beta版本)

    团队作业7——第二次项目冲刺-Beta版本项目计划 团队作业7——第二次项目冲刺(Beta版本)-第一篇 团队作业7——第二次项目冲刺(Beta版本)-第二篇 团队作业7——第二次项目冲刺(Beta版 ...

  4. 【集美大学1411_助教博客】团队作业8——第二次项目冲刺(Beta阶段)

    写在前面的话 此次团队作业8可以拆分成两部分:1.beta阶段冲刺计划安排,2.7天敏捷冲刺."我们很低调"没有使用leangoo,经过与张老师的商议,张老师同意他们不使用lean ...

  5. 【1414软工助教】团队作业8——第二次项目冲刺(Beta阶段) 得分榜

    题目 团队作业8--第二次项目冲刺(Beta阶段) 往期成绩 个人作业1:四则运算控制台 结对项目1:GUI 个人作业2:案例分析 结对项目2:单元测试 团队作业1:团队展示 团队作业2:需求分析&a ...

  6. 团队作业8——第二次项目冲刺(Beta阶段)--5.19 first day

    团队作业8--第二次项目冲刺(Beta阶段)--5.19 Day one: 会议照片 项目进展 由于今天是Beta版本项目冲刺的第一天,所以没有昨天已完成任务.以下是今日具体的任务安排. 队员 今日计 ...

  7. 团队作业8——第二次项目冲刺(Beta阶段)--5.21 second day

    团队作业8--第二次项目冲刺(Beta阶段)--5.21 second day Day two: 会议照片 项目进展 今天是beta冲刺的第二天,组长还在准备考试当中,我们继续做前端改进和后端安排,今 ...

  8. 团队作业8——第二次项目冲刺(Beta阶段)--5.23 third day

    团队作业8--第二次项目冲刺(Beta阶段)--5.23 third day Day three: 会议照片 项目进展 今天是beta冲刺的第三天,组长回到了队伍当中,正式开始改进alpha中存在的功 ...

  9. 团队作业8——第二次项目冲刺(Beta阶段)--5.24 forth day

    团队作业8--第二次项目冲刺(Beta阶段)--5.24 forth day Day four: 会议照片 项目进展 Beta冲刺的第四天,以下是今天具体任务安排: 队员 昨天已完成的任务 今日计划完 ...

  10. 团队作业8——第二次项目冲刺(Beta阶段)--5.25 5th day

    团队作业8--第二次项目冲刺(Beta阶段)--5.25 fifth day Day five: 会议照片 项目进展 Beta冲刺的第四天,以下是今天具体任务安排: 队员 昨天已完成的任务 今日计划完 ...

随机推荐

  1. java正则表达式提取地址中的ip和端口号

    由于我需要用到java正则表达式提取地址中的ip和端口号,所以我就写了一个demo,测试一下,下面是demo public class Test0810_1 { public static void ...

  2. css小随笔

    一.什么是CSS W3C标准中,倡导有3:其一为内容与表现分离,其二为内容与行为分离,其三为内容结构的语义化.其倡导中第一条的"表现"指的便可以说是CSS.CSS全称Cascadi ...

  3. Go语言中函数的实现

    Go 语言函数 函数是基本的代码块,用于执行一个任务. Go 语言最少有个 main() 函数. 你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务. 函数声明告诉了编译器函数的名称,返回 ...

  4. js 科学计数法 转换为 数字字符 突破幂数正数21位,负数7位的自动转换限制

    前天工作中要转换后台返回的一个数据,返回是的科学计算的数字字符,用网上能搜索到的常用两种方法转换会有倍数的限制,然后又搜索了很久,还是没有找到好的方法,虽然也有一些自己写的方法,可还是不能像下面两种方 ...

  5. 入侵拿下DVBBS php官网详细过程(图)

    几 个月前,DVBBS php2.0暴了一个可以直接读出管理员密码的sql注入漏洞,当时这个漏洞出来的时候,我看的心痒,怎么还会有这么弱智的漏洞,DVBBS php2.0这套代码我还没仔细看过,于是5 ...

  6. Java入门(3)—— 数组

    数组 概述:数组就是一个容器可以存放固定个数的单一数据类型 特点: 容器 长度是固定的 数组里面的元素的数据类型要一致 定义数组: 1.先声明,后初始化 声明: 数据类型[] 数组名; // 标识符命 ...

  7. fzu1969 GCD Extreme 类似于uva10561

    Description Given the value of N, you will have to find the value of G. The meaning of G is given in ...

  8. 关于request、response转发与重定向的简述

    在做页面的请求与响应的时候我们多用request与response进行操作,而我们大家也知道,request是表示用户发向服务器的请求,而response是对用户请求的一个响应. 关于转发和重定向,通 ...

  9. redis 介绍和常用命令

    redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...

  10. Android-Error3:Error when loading the SDK

    解决方法: 用C:\android\sdk\tools中的devices.xml将出现错误的地方的devices.xml替换掉既可以了.