|
|
Choosing A Webhost: |
Re: precise codeville-merge reference now available: msg#00010version-control.revctrl
Bram: Congratulations on your progress on theory and implementation of precise Codeville merge. You wrote: > Second, there's some broken behavior with conflict cases. Actually, > scratch that, conflict UI is broken in *all* systems out there, ... > Since this is a problem which has been present in all version control > systems to date, and nobody's really complained about it, I don't think > it's urgent to fix it. Probably the best approach is to make a more > verbose UI which actually explains these cases. I didn't understand this issue, so I tried to reproduce it in darcs, but I couldn't cause anything obviously bad to happen. I think that the reason I can't reproduce this problem is that darcs cannot "merge B and Y" without bringing in A (which B depends on) and X (which Y depends on). Here is a bash transcript of my attempt (edited to remove my typing goofs). Regards, Zooko MAIN yumyum:~$ mkdir darcstest MAIN yumyum:~$ cd darcstest/ MAIN yumyum:~/darcstest$ mkdir r1 MAIN yumyum:~/darcstest$ cd r1 MAIN yumyum:~/darcstest/r1$ darcs init MAIN yumyum:~/darcstest/r1$ cat > foofile I am a happy file. I like to eat ice cream and frogs. Yummy yummy frogs. MAIN yumyum:~/darcstest/r1$ darcs add foofile MAIN yumyum:~/darcstest/r1$ darcs record --all --author="r1author" -m"init version of foofile" Finished recording patch 'init version of foofile' MAIN yumyum:~/darcstest/r1$ cat >> foofile Actually, frogs are kind of yucky. MAIN yumyum:~/darcstest/r1$ darcs record --all --author="r1author" -m"add line clarifying the statement about frogs" Finished recording patch 'add line clarifying the statement about frogs' MAIN yumyum:~/darcstest/r1$ cd .. MAIN yumyum:~/darcstest$ mkdir r2 MAIN yumyum:~/darcstest$ cd r2/ MAIN yumyum:~/darcstest/r2$ darcs init MAIN yumyum:~/darcstest/r2$ darcs pull -p'init' ../r1 Wed Jun 15 13:10:01 ADT 2005 r1author * init version of foofile Shall I pull this patch? (1/1) [ynWvpxqadjk], or ? for help: y Finished pulling and applying. MAIN yumyum:~/darcstest/r2$ cat >> foofile Actually, frogs are kind of yucky. MAIN yumyum:~/darcstest/r2$ darcs record --all --author="r2author" -m"frogs? That's disgusting." Finished recording patch 'frogs? That's disgusting.' MAIN yumyum:~/darcstest/r2$ cd .. MAIN yumyum:~/darcstest$ cd r1 MAIN yumyum:~/darcstest/r1$ cat foofile I am a happy file. I like to eat ice cream and frogs. Yummy yummy frogs. Actually, frogs are kind of yucky. MAIN yumyum:~/darcstest/r1$ head -3 foofile > tmp ; mv tmp foofile MAIN yumyum:~/darcstest/r1$ darcs whatsnew { hunk ./foofile 4 -Actually, frogs are kind of yucky. } MAIN yumyum:~/darcstest/r1$ darcs record --all --author="r1author" -m"Remove mistaken retraction of declaration of love for tasty frogs." Finished recording patch 'Remove mistaken retraction of declaration of love for tasty frogs.' MAIN yumyum:~/darcstest/r1$ cd ../r2/ MAIN yumyum:~/darcstest/r2$ head -3 foofile > tmp ; mv tmp foofile MAIN yumyum:~/darcstest/r2$ darcs record --all --author="r2author" -m"Fine. I'm not going to make a big deal out of this." Finished recording patch 'Fine. I'm not going to make a big deal out of this.' MAIN yumyum:~/darcstest/r2$ cd .. MAIN yumyum:~/darcstest$ mkdir mergetwoadds MAIN yumyum:~/darcstest$ cd mergetwoadds/ MAIN yumyum:~/darcstest/mergetwoadds$ darcs init MAIN yumyum:~/darcstest/mergetwoadds$ darcs pull ../r1 Wed Jun 15 13:10:43 ADT 2005 r1author * add line clarifying the statement about frogs Shall I pull this patch? (1/2) [ynWvpxqadjk], or ? for help: y Wed Jun 15 13:13:19 ADT 2005 r1author * Remove mistaken retraction of declaration of love for tasty frogs. Shall I pull this patch? (2/2) [ynWvpxqadjk], or ? for help: d Finished pulling and applying. MAIN yumyum:~/darcstest/mergetwoadds$ darcs pull ../r2 Wed Jun 15 13:12:14 ADT 2005 r2author * frogs? That's disgusting. Shall I pull this patch? (1/2) [ynWvpxqadjk], or ? for help: y Wed Jun 15 13:13:38 ADT 2005 r2author * Fine. I'm not going to make a big deal out of this. Shall I pull this patch? (2/2) [ynWvpxqadjk], or ? for help: d We have conflicts in the following files: ./foofile Finished pulling and applying. MAIN yumyum:~/darcstest/mergetwoadds$ darcs whatsnew { hunk ./foofile 4 +v v v v v v v +Actually, frogs are kind of yucky. +^ ^ ^ ^ ^ ^ ^ } MAIN yumyum:~/darcstest/mergetwoadds$ vi foofile # Here I use vi to remove the "v v v v..." and "^ ^ ^ ^..." conflict marker lines MAIN yumyum:~/darcstest/mergetwoadds$ darcs record --author="mergetwoaddsauthor" --all -m"Merge identical added lines." Finished recording patch 'Merge identical added lines.' MAIN yumyum:~/darcstest/mergetwoadds$ cd .. MAIN yumyum:~/darcstest$ mkdir mergetwosubtracts MAIN yumyum:~/darcstest$ cd mergetwosubtracts/ MAIN yumyum:~/darcstest/mergetwosubtracts$ darcs pull -a ../r1 Pulling from "../r1"... Finished pulling and applying. MAIN yumyum:~/darcstest/mergetwosubtracts$ darcs pull -a ../r2 Finished pulling and applying. MAIN yumyum:~/darcstest/mergetwosubtracts$ darcs whatsnew No changes! MAIN yumyum:~/darcstest/mergetwosubtracts$ # whoa. I thought that the merge of two subtracts would be a null conflict, not a no-changes. MAIN yumyum:~/darcstest/mergetwosubtracts$ cd .. MAIN yumyum:~/darcstest$ mkdir mergemergedaddswithmergedsubtracts MAIN yumyum:~/darcstest$ cd mergemergedaddswithmergedsubtracts/ MAIN yumyum:~/darcstest/mergemergedaddswithmergedsubtracts$ darcs init MAIN yumyum:~/darcstest/mergemergedaddswithmergedsubtracts$ darcs pull -a ../mergetwoadds/ Finished pulling and applying. MAIN yumyum:~/darcstest/mergemergedaddswithmergedsubtracts$ darcs pull -a ../mergetwosubtracts/ Finished pulling and applying. MAIN yumyum:~/darcstest/mergemergedaddswithmergedsubtracts$ darcs whatsnew No changes! MAIN yumyum:~/darcstest/mergemergedaddswithmergedsubtracts$ cat foofile I am a happy file. I like to eat ice cream and frogs. Yummy yummy frogs. MAIN yumyum:~/darcstest/mergemergedaddswithmergedsubtracts$
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: precise codeville-merge reference now available, Bram Cohen |
|---|---|
| Next by Date: | Re: precise codeville-merge reference now available, zooko-F7hWHBaSm8MAvxtiuMwx3w |
| Previous by Thread: | Re: precise codeville-merge reference now available, Bram Cohen |
| Next by Thread: | Re: precise codeville-merge reference now available, zooko-F7hWHBaSm8MAvxtiuMwx3w |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
Free MagazinesCisco NewsReceive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business. subscribe Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field. subscribe The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business. subscribe Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company. subscribe Total Telecom Total Telecom is "The Economist of the communications industry". subscribe |