Changes between Version 15 and Version 16 of TwoWaySync


Ignore:
Timestamp:
08/23/06 23:27:06 (7 years ago)
Author:
lele
Comment:

Use cases

Legend:

Unmodified
Added
Removed
Modified
  • TwoWaySync

    v15 v16  
    161161 
    162162__ /tailor/attachment/wiki/TwoWaySync/rednaxela.py 
     163 
     164Status 
     165###### 
     166 
     167Unfortunately I wasn't able to keep up the good work I started many months ago in a dusty branch of Tailor... 
     168 
     169With Zooko's recipe as a possible goal, I started hacking the ConfigurationFile format to allow an easier switch of the source and target backends, simply by tagging a project as ''two-ways'' in its section. This is something that shall be kept, augmented with a more general way of "linking" projects and repositories each other (so that it becomes easier to share and reuse common settings).  
     170 
     171The pending (read never finished) part of changes were 
     172 
     173* a different way of splitting the repositories classes than that landed in master repo 
     174* first reluctant steps toward moving a few peculiarities from the DualWorkingDir to the SourceRepository and TargetRepository abstract and concrete subclasses 
     175* the highest level of Zooko's recipe, based on the new ability of going ''one'' patch at a time 
     176 
     177I'm gonna trash most of these changes. 
     178 
     179Given that my own need of a TwoWaySync dropped quite drastically once I felt in love with Darcs, maybe I don't think often enough about the issue to focus it well enough, so I'll write a few notes here. 
     180 
     181The typical case 
     182================ 
     183 
     184A developer wants to contribute to a well known software which is being developed within a master Subversion repository. He will spend his time mostly on little fixes here and there, and developing a bit more intricated part. He doesn't want to step on main developers feet, so he would like to present clean and well formed patches. Normally, he'd create a branch in the Subversion repository, maybe named after his own name.  
     185 
     186Luckily, he lurked something about Darcs, and starts using it doing the most basic form of TwoWaySync: 
     187 
     1881. Check out a current working dir:: 
     189 
     190    $ svn co http://svn.server/project/trunk project 
     191 
     1922. Put everything under darcs too:: 
     193 
     194    $ cd project 
     195    $ darcs init 
     196    $ darcs add --recursive * 
     197    $ darcs record -a -m "My own hacking start point, from revision r1234" 
     198 
     1993. Tag this initial state: 
     200 
     201    $ darcs tag initial 
     202 
     2034. Until satisfied 
     204 
     205   a. Keep up-to-date:: 
     206 
     207       $ svn update 
     208 
     209   b. Hack around, resolving eventual conflicts, maybe even amending already recorded Darcs patches 
     210 
     211   c. Record new patches in Darcs, or unrecord and redo some previous ones 
     212 
     2135. Commit the whole work to the master repository:: 
     214 
     215    $ darcs changes --summary --from-tag=initial > /tmp/clog 
     216    $ svn ci -F /tmp/clog . 
     217 
     218Another use case 
     219================ 
     220 
     221Another guy develops his products extending and customizing a set of free-software components. He does not appreciate the fact that each one uses a different kind of version control, so he seeks a way of staying as neutral as possible, keeping together his own patches and those coming down from upstream, possibly collaborating with them on some aspects and thus sending now and then a few fixes upstream. 
     222 
     223This is harder, because: 
     224 
     2251. In this context, obviously the "branches" must survive for a potentially long time 
     2262. Not all local patches are sent to the other side 
     2273. Learning and dealing with different types of VC may not be so funny 
     228 
     229Can tailor be of any help? 
     230========================== 
     231 
     232... to be continued 
     233 
    163234}}}