SVN 檢查更改

2018-08-12 21:14 更新

SVN 檢查更改

Jerry 往倉庫里添加了一個叫做 array.c 的文件。 Tom 簽出最后一個版本后開始工作。

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

上面的命令將會產(chǎn)生下面的效果

A    project_repo/trunk
A    project_repo/trunk/array.c
A    project_repo/branches
A    project_repo/tags
Checked out revision 2.

但是,他發(fā)現(xiàn)有人已經(jīng)添加了代碼,他很好奇是誰添加的,于是他用下面的命令檢查 log 信息:

[tom@CentOS trunk]$ svn log

上面的命令將會產(chǎn)生下面的效果

------------------------------------------------------------------------
r2 | jerry | 2013-08-17 20:40:43 +0530 (Sat, 17 Aug 2013) | 1 line

Initial commit
------------------------------------------------------------------------
r1 | jerry | 2013-08-04 23:43:08 +0530 (Sun, 04 Aug 2013) | 1 line

Create trunk, branches, tags directory structure
------------------------------------------------------------------------

當 Tom 查看 Jerry 的代碼時,他注意到了里面的一個 bug 。 Jerry 沒有檢查數(shù)組溢出,這會導致很嚴重的問題。所以 Tom 決定修復這個問題。在修改之后, array.c 將會是這個樣子。

#include <stdio.h>

#define MAX 16

int 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 想使用 status 操作來看看將要生效的更改列表

[tom@CentOS trunk]$ svn status
M       array.c

array.c 文件已經(jīng)被修改,Subversion 會在修改過的文件前面加一個字母 M 。接下來 Tom 編譯測試了他的代碼,并且工作良好。在提交更改前,他想要再次檢查他的更改。

[tom@CentOS trunk]$ svn diff
Index: 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 會在新添加的這幾行代碼前面添加 + 號標記,現(xiàn)在,他已經(jīng)準備好提交他的代碼。

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

上面的命令將會產(chǎn)生下面的效果

Sending        trunk/array.c
Transmitting file data .
Committed revision 3.

Tom 的更改被成功得提交到了倉庫中。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號