SVN - 审核变更

Jerry 已将 array.c 文件添加到存储库中. Tom 还会查看最新代码并开始工作.

[tom @ CentOS~] $ svn co http://svn.server.com/svn/project_repo --username = tom

以上命令将产生以下结果.

A    project_repo/trunkA    project_repo/trunk/array.cA    project_repo/branchesA    project_repo/tagsChecked out revision 2.

但是,他发现有人已经添加了代码.所以他很好奇是谁做了那个并且他使用以下命令检查日志消息以查看更多细节:

  [tom @ CentOS trunk] $ svn log

以上命令将产生以下结果.

------------------------------------------------------------------------r2 | jerry | 2013-08-17 20:40:43 +0530 (Sat, 17 Aug 2013) | 1 lineInitial commit------------------------------------------------------------------------r1 | jerry | 2013-08-04 23:43:08 +0530 (Sun, 04 Aug 2013) | 1 lineCreate trunk, branches, tags directory structure------------------------------------------------------------------------

Tom 观察 Jerry的代码时,他立即注意到了一个错误.杰里没有检查阵列溢出,这可能会导致严重的问题.所以汤姆决定解决这个问题.修改后, array.c 将如下所示.

#include <stdio.h>#define MAX 16int main(void){   int i, n, arr[MAX];   printf("Enter the total number of elements: ");   scanf("%d", &n);   /* handle array overflow condition */   if (n > MAX) {      fprintf(stderr, "Number of elements must be less than %d\n", MAX);      return 1;   }   printf("Enter the elements\n");   for (i = 0; i < n; ++i)      scanf("%d", &arr[i]);   printf("Array has following elements\n");   for (i = 0; i < n; ++i)      printf("|%d| ", arr[i]);      printf("\n");   return 0;}

Tom 想要使用状态操作查看挂起的更改列表.

[tom@CentOS trunk]$ svn statusM       array.c

array.c 文件被修改,这就是Subversion在文件名之前显示 M 字母的原因.接下来 Tom 编译并测试他的代码,它运行正常.在进行更改之前,他想通过查看他所做的更改来仔细检查它.

[tom@CentOS trunk]$ svn diffIndex: array.c===================================================================--- array.c   (revision 2)+++ array.c   (working copy)@@ -9,6 +9,11 @@    printf("Enter the total number of elements: ");    scanf("%d", &n); +   if (n > MAX) {+      fprintf(stderr, "Number of elements must be less than %d\n", MAX);+      return 1;+   }+    printf("Enter the elements\n");     for (i = 0; i < n; ++i)

Tom array.c 文件中添加了几行,这就是Subversion在新行之前显示 + 符号的原因.现在他已准备好进行更改.

[tom@CentOS trunk]$ svn commit -m "Fix array overflow problem"

上述命令将产生以下结果.

Sending        trunk/array.cTransmitting file data .Committed revision 3.

Tom的更改已成功提交到存储库.

免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除

咨询热线(9:00 - 18:00)
0755 - 29812418
微信公众号二维码
微信公众号二维码
微信公众号
返回顶部