1ã å¦ä½äº§çå²çª
å½å¼å人åAåå¼å人åBä»çæ¬åºåæ¶æ£åºææ¡£1.txtï¼èAåBåæ¶ä¿®æ¹äº1.txtçåä¸å°æ¹ï¼åæ交çä¸æ¹ä¼å¨æ·è´å¯æ¬ä¸äº§çå²çªã
两个工ä½æ·è´ï¼Aæ·è´ä¸æ件1.txtå
容为
dfqerq
123dfwre
Bæ·è´ä¸æ件1.txtå
容为
dfqerq
123erwrq
å¨Bçæ¬æ交ä¹åçæ¬åºä¸ç1.txtï¼baseçæ¬ï¼å
容为
dfqerq
Bæ·è´å
æ交çæ¬å°çæ¬åºä¸ï¼ä»¥è³äºææ°çæ¬å
容å为
dfqerq
123erwrq
æ¤æ¶Açæ¬ä¹æ交åä¼äº§çå²çªï¼æ æ³æ交ï¼éè¦å
svn
updateï¼æ¤æ¶ä¼å¨Aæ·è´ä¸äº§çä¸ä¸ªä¸´æ¶æ件1.txt.rNew\1.txt.rOld\1.txt.mineï¼å
¶ä¸1.txt.rNewæ¯ææ°ç
æ¬ï¼1.txt.rOldæ¯baseçæ¬ï¼1.txt.mineæ¯Aä½è
ä¿®æ¹åççæ¬ï¼å¨æ¤ä¾ä¸å
容为
dfqerq
123dfwre
èupdateä¹åAæ·è´ä¸ç1.txtå
容为
<<<<<<< .mine
dfqerq
123dfwre=======
dfqerq
123erwrq>>>>>>> .r18
å
¶ä¸<<<<<<< .mineä¸=======ä¹é´è¡¨ç¤ºAä¿®æ¹åçå
容ï¼=======ä¸>>>>>>> .r18ä¹é´æ¯çæ¬æå¡å¨ä¸ççæ¬
2ã解å³å²çª
第ä¸ç§ï¼å©ç¨updateçé项è¿è¡å²çªè§£å³ï¼ä¹å°±æ¯è¯´ä¸ç®¡å½åæ·è´å¯æ¬æ¯å¦æ¯ææ°çæ¬ï¼é½ä½¿ç¨âacceptåæ°ä½ä¸ºå²çªå¤çæ¹å¼
âaccept ARG : specify automatic conflict resolution action
(âpostponeâ, âbaseâ, âmine-conflictâ,
âtheirs-conflictâ, âmine-fullâ, âtheirs-fullâ,
âeditâ, âlaunchâ)
(p) postpone â mark the conflict to be resolved later //让æ件å¨æ´æ°å®æä¹åä¿æå²çªç¶æã
(df) diff-full â show all changes made to merged file //使ç¨æ ååºå«æ ¼å¼æ¾ç¤ºbase修订çæ¬åå²çªæ件æ¬èº«çåºå«ã
(e) edit â change merged file in an editor //ç¨ä½ å欢çç¼è¾å¨æå¼å²çªçæ件ï¼ç¼è¾å¨æ¯ç¯å¢åéEDITOR设置çã
(r) resolved â accept merged version of file //å®ææ件ç¼è¾ä¹åï¼éç¥svnä½ å·²ç»è§£å³äºæ件çå²çªï¼å®å¿
é¡»æ¥åå½åçå
容âä»æ¬è´¨ä¸è®²å°±æ¯ä½ å·²ç»â解å³äºâå²çªã
(mf) mine-full â accept my version of entire file (ignore their change//丢å¼æ°ä»æå¡å¨æ¥æ¶çåæ´ï¼å¹¶åªä½¿ç¨ä½ æ¥çæ件çæ¬å°ä¿®æ¹ã
(tf) theirs-full â accept their version of entire file (lose my changes)//丢å¼ä½ 对æ¥çæ件çæ¬å°ä¿®æ¹ï¼åªä½¿ç¨ä»æå¡å¨æ°æ¥æ¶çåæ´ã
(l) launch â launch external tool to resolve conflict//å¯å¨ä¸ä¸ªå¤ç½®ç¨åºæ¥æ§è¡å²çªè§£å³ï¼è¿éè¦ä¸äºé¢å
çåå¤ã
(h) help â show this list //æ¾ç¤ºææå¨å²çªè§£å³æ¶å¯è½ä½¿ç¨çå½ä»¤ã
第äºç§ï¼å¨updateæ¶å¹¶ä¸å¤çå²çªï¼å©ç¨svn resolve解å³å²çª
1ãå©ç¨svn resolve âaccept baseéæ©baseçæ¬ï¼å³1.txt.rOldä½ä¸ºæåæ交ççæ¬
âaccept ARG : specify automatic conflict resolution source
(âbaseâ, âworkingâ, âmine-conflictâ,
âtheirs-conflictâ, âmine-fullâ, âtheirs-fullâ)
2ãæ工修æ¹1.txtæ件ï¼ç¶åå°å½åæ·è´å³1.txtä½ä¸ºæåæ交ççæ¬
svn resolve âaccept working 1.txt
3ãsvn resolve âaccept theirs-full 1.txt 使ç¨1.txt.rNewä½ä¸ºæåæ交ççæ¬
4ãsvn resolve âaccept mine-full 1.txt 使ç¨1.txt.mineä½ä¸ºæåæ交ççæ¬
5ãsvn resolve âaccept mine-conflict 1.txt 使ç¨1.txt.mineçå²çªé¨åä½ä¸ºæåæ交ççæ¬
5ãsvn resolve âaccept theirs-conflict 1.txt 使ç¨1.txt.rNewçå²çªé¨åä½ä¸ºæåæ交ççæ¬
第ä¸ç§ï¼ä½¿ç¨svn revertåæ¶åæ´
ï¼ä»¥ä¸æç« æ¥æºï¼
http://blog.sina.com.cn/s/blog_65fd4c1e0100h2cg.htmlï¼
ï¼ï¼ï¼ï¼ï¼
å两天å¨è§£å³å²çªæ¶ç¨å°äºsvn resolveè¿ä¸ªå½ä»¤ï¼æ¾å°è¿ç¯æç« ä¸»è¦æ¯å 为ä»å¯¹âacceptåæ°ç说ææ¯è¾å
¨
æ¯å®æ¹çææ¡£æ´è¯¦ç»ã
svnæ件å²çª,æ å²çªè¯¦è§£
解å³å²çª
å¶å°ï¼å½ä½ ä»çæ¬åºæ´æ°ãå并æ件æ¶ï¼æè
åæ¢å·¥ä½å¯æ¬è³ä¸ä¸ªä¸åç URL æ¶ä½ ä¼éå°å²çªãæ两ç§å²çª:
æ件å²çª
å½ä¸¤å(ææ´å¤)å¼å人åä¿®æ¹äºåä¸ä¸ªæ件ä¸ç¸é»æç¸åçè¡æ¶å°±ä¼åçæ件å²çªã
æ å²çª
å½ä¸åå¼å人å移å¨ãéå½åãå é¤ä¸ä¸ªæ件ææ件夹ï¼èå¦ä¸åå¼å人åä¹å¯¹å®ä»¬è¿è¡äºç§»å¨ãéå½åãå é¤æè
ä»
ä»
æ¯ä¿®æ¹æ¶å°±ä¼åçæ å²çªã
æ件å²çª
å½ä¸¤åææ´å¤å¼å人åä¿®æ¹äºåä¸ä¸ªæ件ä¸ç¸é»æç¸åçè¡æ¶å°±ä¼åçæ件å²çªãç±äº Subversion ä¸ç¥éä½ ç项ç®çå
·ä½æ
åµï¼å®æ解å³å²çªçå·¥ä½çç»äºå¼å人åãä¸æ¦åºç°å²çªï¼ä½ å°±åºè¯¥æå¼æé®é¢çæ件ï¼æ¥æ¾ä»¥å符串<<<<<<<å¼å¤´çè¡ãæå²çªçåºåç¨å¦ä¸çæ¹å¼æ è®°:
<<<<<<< æ件å
ä½ çä¿®æ¹
=======
å并èªçæ¬åºä¸ç代ç
>>>>>>> çæ¬
对äºæ¯ä¸ªå²çªçæ件 Subversion å¨ä½ çç®å½ä¸æ¾ç½®äºä¸ä¸ªæ件:
æ件å.ext.mine
è¿æ¯ä½ çæ件ï¼å¨ä½ æ´æ°ä½ çå·¥ä½å¯æ¬ä¹ååå¨äºä½ ççå·¥ä½å¯æ¬ä¸ââä¹å°±æ¯è¯´ï¼æ²¡æå²çªæ å¿ãè¿ä¸ªæ件é¤äºä½ çææ°ä¿®æ¹å¤æ²¡æå«çä¸è¥¿ã
æ件å.ext.ræ§çæ¬
è¿æ¯å¨ä½ æ´æ°ä½ çå·¥ä½å¯æ¬ä¹åçåºç¡çæ¬(BASE revision)æ件ãä¹å°±æ¯è¯´ï¼å®æ¯å¨ä½ åæåä¿®æ¹ä¹åææ£åºçæ件ã
æ件å.ext.ræ°çæ¬
è¿ä¸ªæ件æ¯å½ä½ æ´æ°ä½ çå·¥ä½å¯æ¬æ¶ï¼ä½ ç Subversion 客æ·ç«¯ä»æå¡å¨æ¥æ¶å°çãè¿ä¸ªæ件对åºäºçæ¬åºä¸çææ°çæ¬ã
ä½ å¯ä»¥éè¿TortoiseSVN â ç¼è¾å²çªè¿è¡å¤é¨å并工å
·/å²çªç¼è¾å¨ï¼æè
ä½ å¯ä»¥ä½¿ç¨ä»»ä½å«çç¼è¾å¨æå¨è§£å³å²çªãä½ éè¦å²å®åªäºä»£ç æ¯éè¦çï¼åä¸äºå¿
è¦çä¿®æ¹ç¶åä¿åã
ç¶åï¼æ§è¡å½ä»¤TortoiseSVN â 已解å³å¹¶æ交人çä¿®æ¹å°çæ¬åºãéè¦æ³¨æçæ¯å·²è§£å³å½ä»¤å¹¶ä¸æ¯çæ£ç解å³äºå²çªï¼å®åªæ¯å é¤äºfilename.ext.mineåfilename.ext.r*两个æ件ï¼å
è®¸ä½ æ交修æ¹ã
å¦æä½ çäºè¿å¶æ件æå²çªï¼Subversionä¸ä¼è¯å¾å并æ件ãæ¬å°æ件ä¿æä¸å(å®å
¨æ¯ä½ æåä¿®æ¹æ¶çæ ·å)ï¼ä½ä½ ä¼çå°filename.ext.r*æ件ãå¦æä½ è¦æ¤æ¶ä½ çä¿®æ¹ï¼ä¿ççæ¬åºä¸ççæ¬ï¼è¯·ä½¿ç¨è¿å(Revert)å½ä»¤ãå¦æä½ è¦ä¿æä½ ççæ¬è¦ççæ¬åºä¸ççæ¬ï¼ä½¿ç¨å·²è§£å³å½ä»¤ï¼ç¶åæäº¤ä½ ççæ¬ã
ä½ å¯ä»¥å³å»ç¶æ件夹ï¼éæ©TortoiseSVN â 已解å³...ï¼ä½¿ç¨â已解å³âå½ä»¤æ¥è§£å³å¤ä¸ªæ件ãè¿ä¸ªæä½ä¼åºç°ä¸ä¸ªå¯¹è¯æ¡ï¼ååºæ件夹ä¸æææå²çªçæ件ï¼ä½ å¯ä»¥éæ©å°åªäºæ è®°æ已解å³ã
æ å²çª
å½ä¸åå¼å人å移å¨ãéå½åãå é¤ä¸ä¸ªæ件ææ件夹ï¼èå¦ä¸åå¼å人åä¹å¯¹å®ä»¬è¿è¡äºç§»å¨ãéå½åãå é¤æè
ä»
ä»
æ¯ä¿®æ¹æ¶å°±ä¼åçæ å²çªãæå¾å¤ç§ä¸åçæ
å½¢å¯ä»¥å¯¼è´æ å²çªï¼èä¸ä¸åçæ
å½¢éè¦ä¸åçæ¥éª¤æ¥è§£å³å²çªã
å½ä¸ä¸ªæ件éè¿ Subversion å¨æ¬æºå é¤åï¼æ件ä¹ä»æ¬æºæ件系ç»ä¸å é¤ãå æ¤å³ä½¿å®æ¯æ å²çªçä¸é¨åï¼å´æ¢ä¸è½æ¾ç¤ºå²çªçå å å¾æ ä¹ä¸è½éè¿å³é®åå»æ¥è§£å³å²çªã使ç¨æ£æ¥ä¿®æ¹å¯¹è¯æ¡æ¥è·å¾ç¼è¾å²çªé项ã
TortoiseSVN è½å¤åå©æ¾å°å并æ´æ¹çæ£ç¡®ä½ç½®ï¼ä½æ¯éè¦ä½ä¸äºé¢å¤çå·¥ä½æ¥æ´çå²çªã请ç¢è®°: å½è¿è¡ä¸æ¬¡æ´æ°æä½åï¼å·¥ä½å¯æ¬çåºç¡æ件å°ä¼å
æ¬æ¯ä¸ä¸ªé¡¹ç®å¨æ§è¡æ´æ°æä½æ¶çæ¬åºä¸ççæ¬ãå¦æä½ å¨è¿è¡æ´æ°ååæ¤éæ´æ¹ï¼å·¥ä½å¯æ¬å°è¿åå°çæ¬åºç ç¶æï¼èä¸æ¯ä½ å¼å§è¿è¡æ´æ¹åçç¶æã
æ¬å°å é¤ï¼å½æ´æ°æ¶ææ´æ¹è¿å
¥
å¼å人å A ä¿®æ¹ Foo.c 并å°å
¶æ交è³çæ¬åºä¸
å¼å人å B åæ¶å¨ä»çå·¥ä½å¯æ¬ä¸å°æ件 Foo.c æ¹å为 Bar.cï¼æè
ä»
ä»
æ¯å é¤äº Foo.c æå®çç¶æ件夹ã
æ´æ°å¼å人å B çå·¥ä½å¯æ¬ä¼å¯¼è´æ å²çª:
å¨å·¥ä½å¯æ¬ä¸ï¼Foo.c 被å é¤äºï¼ä½æ¯è¢«æ 记为æ å²çªã
å¦æå²çªæ¯ç±äºæ´æ¹æ件åå¼èµ·çèä¸æ¯å é¤æ件å¼èµ·çï¼é£ä¹ Bar.c 被æ 记为添å ï¼ä½æ¯å
¶ä¸å´ä¸å
æ¬å¼å人å A ä¿®æ¹çå
容ã
å¼å人å B ç°å¨å¿
é¡»ååºéæ©æ¯å¦ä¿çå¼å人å A çæ´æ¹ãå¨æ´æ¹æ件åçæ¡ä¾ä¸ï¼ä»å¯ä»¥å° Foo.c çæ´æ¹å并å°æ¹ååçæ件 Bar.c ä¸å»ã对äºå é¤æ件ææ件夹çæ¡ä¾ä¸ï¼ä»å¯ä»¥éæ©ä¿çå
å«å¼å人å A æ´æ¹å
容ç项ç®å¹¶æ¾å¼å é¤æä½ãæä»ä¹ä¹ä¸åèç´æ¥å°å²çªæ 记为已解å³ï¼é£æ ·ä»å®é
ä¸ä¸¢å¼äºå¼å人å A çæ´æ¹ã
å¦æ TortoiseSVN è½å¤æ¾å°è¢«æ¹å为 Bar.c çåå§æ件ï¼å²çªç¼è¾å¯¹è¯æ¡å°å¯ä»¥å并æ´æ¹ãè¿åå³äºå¨ä»ä¹å°æ¹è°ç¨æ´æ°æä½ï¼å®ä¹è®¸ä¸è½æ¾å°åå§æ件ã
æ¬å°æ´æ¹ï¼å½æ´æ°æ¶æå é¤è¿å
¥
å¼å人å A å°æ件 Foo.c æ¹å为 Bar.c 并å°å
¶æ交è³çæ¬åºä¸ã
å¼å人å B å¨ä»çå·¥ä½å¯æ¬ä¸ä¿®æ¹æ件 Foo.cã
æè
å¨ä¸ä¸ªæ件夹æ¹åçæ¡ä¾ä¸...
å¼å人å A å°ç¶æ件夹 FooFolder æ¹å为 BarFolder 并å°å
¶æ交è³çæ¬åºä¸ã
å¼å人å B å¨ä»çå·¥ä½å¯æ¬ä¸ä¿®æ¹æ件 Foo.cã
æ´æ°å¼å人å B çå·¥ä½å¯æ¬ä¼å¯¼è´æ å²çªã对äºä¸ä¸ªç®åçæ件å²çª:
Bar.c 被å½ä½ä¸ä¸ªæ£å¸¸æ件添å å°å·¥ä½å¯æ¬ä¸ã
Foo.c 被æ 记为添å (å
æ¬å
¶åå²è®°å½)并ä¸äº§çæ å²çªã
对äºä¸ä¸ªæ件夹å²çª:
BarFolder 被å½ä½ä¸ä¸ªæ£å¸¸æ件夹添å å°å·¥ä½å¯æ¬ä¸ã
FooFolder 被æ 记为添å (å
æ¬å
¶åå²è®°å½)并ä¸äº§çæ å²çªã
Foo.c 被æ 记为已修æ¹ã
å¼å人å B ç°å¨éè¦ååºå³å®æ¯å¦æ¥åå¼å人å A ä½åºçç»ææ¹å并ä¸å并她çæ´æ¹å°æ°ç»æä¸éå½çæ件ä¸ï¼æè
ç´æ¥æ¾å¼å¼å人å A çæ´æ¹å¹¶ä¿çæ¬å°æ件ã
è¦å并她çæ¬æºæ´æ¹å°æ°å¸å±ä¸ï¼å¼å人å B å¿
é¡»å
æ¾åºå²çªçæ件 Foo.c ç»è¿æ¹å/移å¨åå¨çæ¬åºä¸çæ°æ件åæ¯ä»ä¹ãå¯ä»¥ä½¿ç¨æ¥å¿å¯¹è¯æ¡æ¥å®æè¿ä¸ªä»»å¡ãæ´æ¹å¿
é¡»è¦æå·¥å并ï¼å 为没æåæ³èªå¨çæè
ç®åçå®ææ¤æä½ãä¸æ¦æ´æ¹ç§»æ¤å®æ¯ï¼å²çªçè·¯å¾å°±æ¯å¤ä½ç并ä¸å¯ä»¥å é¤ãå¨æ¤æ¡ä¾ä¸ï¼ä½¿ç¨å²çªç¼è¾å¯¹è¯æ¡ä¸çå é¤æé®è¿è¡æ¸
ç并å°å²çªæ 记为已解å³ã
å¦æå¼å人å B 认为 A çæ´æ¹æ¯é误çï¼é£ä¹å¨å²çªç¼è¾å¯¹è¯æ¡ä¸å¥¹å¿
é¡»éæ©ä¿çæé®ãè¿æ ·å°±ä¼æ è®°å²çªçæ件/æ件夹为已解å³ï¼ä½æ¯éè¦æå·¥å é¤å¼å人å A çæ´æ¹ãåæ¯éè¿æ¥å¿å¯¹è¯æ¡å¸®å©è¿½è¸ªåªäºæ件移å¨äºã
æ¬å°å é¤ï¼å½æ´æ°æ¶æå é¤è¿å
¥
å¼å人å A å°æ件 Foo.c æ¹å为 Bar.c 并å°å
¶æ交è³çæ¬åºä¸ã
å¼å人å B å°æ件 Foo.c æ¹å为 Bix.c
æ´æ°å¼å人å B çå·¥ä½å¯æ¬ä¼å¯¼è´æ å²çª:
Bix.c 被æ 记为添å (å
æ¬å
¶åå²è®°å½)ã
Bar.c 被添å å°å·¥ä½å¯æ¬ä¸ï¼å
¶ç¶æ为âæ£å¸¸âã
Foo.c 被æ 记为å é¤å¹¶ä¸äº§çä¸ä¸ªæ å²çªã
è¦è§£å³è¿ä¸ªå²çªï¼å¼å人å B å¿
é¡»æ¾åºå²çªçæ件 Foo.c ç»è¿æ¹å/移å¨åå¨çæ¬åºä¸çæ°æ件åæ¯ä»ä¹ãå¯ä»¥ä½¿ç¨æ¥å¿å¯¹è¯æ¡æ¥å®æè¿ä¸ªä»»å¡ã
ç¶åï¼å¼å人å B éè¦å³å® Foo.c çæ°æ件åä¸çåªä¸ä¸ªéè¦ä¿ç - å¼å人å A æ¹çé£ä¸ªè¿æ¯ä»èªå·±æ¹çé£ä¸ªã
å¨å¼å人å B æ工解å³å²çªåï¼ä½¿ç¨å²çªç¼è¾å¯¹è¯æ¡ä¸çæé®å°æ å²çªæ 记为已解å³ã
æ¬å°ç¼ºå°ï¼å½å并æ¶ææ´æ¹è¿å
¥
å¼å人å A å¨ä¸»å¹²ä¸å·¥ä½ï¼ä¿®æ¹ Foo.c 并å°å
¶æ交è³çæ¬åºä¸
å¼å人å B å¨åæ¯ä¸å·¥ä½ï¼å° Foo.c æ¹å为 Bar.c 并å°å
¶æ交è³çæ¬åºä¸
å并å¼å人å A ç主干æ´æ¹å°å¼å人å B çåæ¯å·¥ä½å¯æ¬ä¼å¯¼è´æ å²çª:
Bar.c å·²ç»åå¨äºå·¥ä½å¯æ¬ä¸ï¼å
¶ç¶æ为âæ£å¸¸âã
Foo.c 被æ 记为缺å°å¹¶äº§çæ å²çªã
è¦è§£å³è¿ä¸ªå²çªï¼å¼å人å B è¦å¨å²çªç¼è¾å¯¹è¯æ¡ä¸æ è®°æ件为已解å³ï¼è¿æ ·å°±ä¼å°å
¶ä»å²çªå表ä¸å é¤ã她æ¥ä¸æ¥éè¦å³å®æ¯å¦å°ç¼ºå°çæ件 Foo.c ä»çæ¬åºä¸å¤å¶å°å·¥ä½å¯æ¬ä¸ï¼æ¯å¦å°å¼å人å A ç对 Foo.c çæ´æ¹åå并å°æ¹ååç Bar.c æè
æ¯å¦éè¿æ è®°å²çªä¸ºå·²è§£å³æ¥å¿½ç¥æ´æ¹ä»ä¹äºä¹ä¸åã
注æï¼å¦æä½ å°ç¼ºå°çæ件ä»çæ¬åºä¸å¤å¶å°å·¥ä½å¯æ¬ä¸ç¶ååæ 记为已解å³ï¼ä½ å¤å¶ä¸æ¥çæ件å°è¢«å次å é¤ãä½ å¿
é¡»å
解å³å²çªã
æ¬å°æ´æ¹ï¼å½å并æ¶æå é¤è¿å
¥
å¼å人å A å¨ä¸»å¹²ä¸å·¥ä½ï¼å° Foo.c æ¹å为 Bar.c 并å°å
¶æ交è³çæ¬åºä¸
å¼å人å B å¨åæ¯ä¸å·¥ä½ï¼ä¿®æ¹ Foo.c 并å°å
¶æ交è³çæ¬åºä¸
å½æ件夹æ¹åæ¶æ类似çæ¡ä¾ï¼ä½æ¯å¨ Subversion 1.6 ä¸è¿æªè¢«è¯å«...
å¼å人å A å¨ä¸»å¹²ä¸å·¥ä½ï¼å°ç¶æ件夹 FooFolder æ¹å为 BarFolder 并å°å
¶æ交è³çæ¬åºä¸ã
å¼å人å B å¨åæ¯ä¸å·¥ä½ï¼å¨å¥¹çå·¥ä½å¯æ¬ä¸ä¿®æ¹ Foo.c ã
å并å¼å人å A ç主干æ´æ¹å°å¼å人å B çåæ¯å·¥ä½å¯æ¬ä¼å¯¼è´æ å²çª:
Bar.c 被æ 记为添å ã
Foo.c 被æ 记为修æ¹å¹¶äº§çæ å²çªã
å¼å人å B ç°å¨éè¦ååºå³å®æ¯å¦æ¥åå¼å人å A ä½åºçç»ææ¹å并ä¸å并她çæ´æ¹å°æ°ç»æä¸éå½çæ件ä¸ï¼æè
ç´æ¥æ¾å¼å¼å人å A çæ´æ¹å¹¶ä¿çæ¬å°æ件ã
è¦å并她çæ¬æºæ´æ¹å°æ°å¸å±ä¸ï¼å¼å人å B å¿
é¡»å
æ¾åºå²çªçæ件 Foo.c ç»è¿æ¹å/移å¨åå¨çæ¬åºä¸çæ°æ件åæ¯ä»ä¹ãå¯ä»¥éè¿éç¨äºå并æºç çæ¥å¿å¯¹è¯æ¡æ¥å®æè¿ä¸ªä»»å¡ãå²çªç¼è¾å¨ä»
æ¾ç¤ºå·¥ä½å¯æ¬çæ¥å¿å 为å®ä¸ç¥éå°åªä¸ªè·¯ å¾çæ´æ¹å并è¿æ¥ï¼æä»¥ä½ éè¦èªå·±æ¾å°å®ãæ´æ¹å¿
é¡»è¦æå·¥å并ï¼å 为没æåæ³èªå¨çæè
ç®åçå®ææ¤æä½ãä¸æ¦æ´æ¹ç§»æ¤å®æ¯ï¼å²çªçè·¯å¾å°±æ¯å¤ä½ç并ä¸å¯ 以å é¤ãå¨æ¤æ¡ä¾ä¸ï¼ä½¿ç¨å²çªç¼è¾å¯¹è¯æ¡ä¸çå é¤æé®è¿è¡æ¸
ç并å°å²çªæ 记为已解å³ã
å¦æå¼å人å B 认为 A çæ´æ¹æ¯é误çï¼é£ä¹å¨å²çªç¼è¾å¯¹è¯æ¡ä¸å¥¹å¿
é¡»éæ©ä¿çæé®ãè¿æ ·å°±ä¼æ è®°å²çªçæ件/æ件夹为已解å³ï¼ä½æ¯éè¦æå·¥å é¤å¼å人å A çæ´æ¹ãåæ¯éè¿æ¥å¿å¯¹è¯æ¡å¸®å©è¿½è¸ªåªäºæ件移å¨äºã
æ¬å°å é¤ï¼å½å并æ¶æå é¤è¿å
¥
å¼å人å A å¨ä¸»å¹²ä¸å·¥ä½ï¼å° Foo.c æ¹å为 Bar.c 并å°å
¶æ交è³çæ¬åºä¸
å¼å人å B å·¥ä½å¨åä¹ä¸ï¼å° Foo.c æ¹å为 Bix.c 并å°å
¶æ交è³çæ¬åºä¸
å并å¼å人å A ç主干æ´æ¹å°å¼å人å B çåæ¯å·¥ä½å¯æ¬ä¼å¯¼è´æ å²çª:
Bix.c 被æ 记为æ£å¸¸(æªä¿®æ¹)ç¶æã
Bar.c 被æ 记为添å (å
æ¬å
¶åå²è®°å½)ã
Foo.c 被æ 记为缺å°å¹¶ä¸äº§çæ å²çªã
è¦è§£å³è¿ä¸ªå²çªï¼å¼å人å B å¿
é¡»å
æ¾åºå²çªçæ件 Foo.c ç»è¿æ¹å/移å¨åå¨çæ¬åºä¸çæ°æ件åæ¯ä»ä¹ãå¯ä»¥éè¿éç¨äºå并æºç çæ¥å¿å¯¹è¯æ¡æ¥å®æè¿ä¸ªä»»å¡ãå²çªç¼è¾å¨ä»
æ¾ç¤ºå·¥ä½å¯æ¬çæ¥å¿å 为å®ä¸ç¥éå°åªä¸ªè·¯å¾çæ´æ¹å并è¿æ¥ï¼æä»¥ä½ éè¦èªå·±æ¾å°å®ã
ç¶åï¼å¼å人å B éè¦å³å® Foo.c çæ°æ件åä¸çåªä¸ä¸ªéè¦ä¿ç - å¼å人å A æ¹çé£ä¸ªè¿æ¯ä»èªå·±æ¹çé£ä¸ªã
å¨å¼å人å B æ工解å³å²çªåï¼ä½¿ç¨å²çªç¼è¾å¯¹è¯æ¡ä¸çæé®å°æ å²çªæ 记为已解å³ã