Changeset 173 in tailor


Ignore:
Timestamp:
11/30/04 17:09:47 (8 years ago)
Author:
lele@…
Hash name:
20041130160947-97f81-2b6be4bf4861af060e598c165eab44172992683c
Message:

Revised the README

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tailor.py

    r172 r173  
    66# 
    77 
    8 """Keep a tree in sync with its "upstream" repository of a different format.  
     8""" 
     9Keep a tree in sync with its "upstream" repository of a (possibly) 
     10different format. 
    911 
    1012For more documentation, see the README file from the distribution. 
    11  
    1213""" 
    1314 
  • README

    r172 r173  
    1 ABOUT 
    2 ---------------------------------------------------------------------- 
    3 tailor.py is tool to synchronize CVS, Subversion, and darcs repositories. 
     1About 
     2===== 
     3 
     4tailor.py is a tool to migrate changesets between CVS, Subversion, and 
     5darcs repositories. 
    46 
    57This script makes it easier to keep the upstream changes merged in 
     
    810 
    911 
    10 INSTALLATION 
    11 ---------------------------------------------------------------------- 
    12 tailor.py is written in python, and thus python must be installed on your 
     12Installation 
     13============ 
     14 
     15tailor.py is written in Python, and thus Python must be installed on your 
    1316system to use it. 
    1417 
     
    2124 
    2225 
    23 EXAMPLES 
    24 ---------------------------------------------------------------------- 
     26Examples 
     27======== 
    2528 
    26   # Bootstrap a new taylored project, starting at upstream revision 10 
     29Bootstrap a new taylored project, starting at upstream revision 10:: 
     30 
    2731  $ tailor.py -b -s svn -R http://svn.server/Product -r 10 ~/darcs/MyProduct  
    2832 
    29   # Bootstrap a new product, fetching from CVS and storing under SVN: this 
    30   # will create the directory "~/svnwc/cmfcore"; "~/svnwc" must be already 
    31   # under SVN. 
     33Bootstrap a new product, fetching from CVS and storing under SVN: this 
     34will create the directory "~/svnwc/cmfcore"; "~/svnwc" must be already 
     35under SVN:: 
     36 
    3237  $ tailor.py --source-kind cvs --target-kind svn --bootstrap \ 
    3338              --repository :pserver:cvs.zope.org:/cvs-repository \ 
    3439              --module CMF/CMFCore ~/svnwc/cmfcore 
    3540   
    36   # Showing each command bootstrap a new DARCS repos in "~/darcs/cmftopic" 
    37   # under which the upstream module will be extracted as "CMFTopic" (ie, the 
    38   # last component of the module name). 
     41Showing each command bootstrap a new DARCS repos in "~/darcs/cmftopic" 
     42under which the upstream module will be extracted as "CMFTopic" (ie, the 
     43last component of the module name):: 
     44 
    3945  $ tailor.py -D -b -R :pserver:anonymous@cvs.zope.org:/cvs-repository/ \ 
    4046              -m CMF/CMFTopic ~/darcs/cmftopic 
    4147               
    42   # Merge upstream changes since last update/bootstrap 
     48Merge upstream changes since last update/bootstrap:: 
     49 
    4350  $ tailor.py ~/svnwc/MyProduct 
    4451 
    4552 
    46 CONFIG FILE FORMAT 
    47 ---------------------------------------------------------------------- 
     53Tailor's metadata 
     54================= 
    4855 
    49 Here's an example config file entry: 
     56To do its work, tailor needs some information about your source tree, 
     57such as the upstream repository URL and the current revision of the 
     58sources on your harddisk. 
     59 
     60In the simpler case, tailor keeps this information in a file called 
     61`tailor.info`, one for each tailored project, that is a very simple 
     62text document, with the following information, one per line: 
     63 
     641. Upstream repository kind (either "cvs", "darcs" or "svn) 
     652. Target repository kind (the same as above) 
     663. The name of the "module" that's been tailored 
     674. The URL of the upstream repository (that may not be an URL, for cvs...) 
     685. The current revision, from the upstream point of view, of the sources 
     69 
     70This is everything tailor needs, to be able to keep going from where it 
     71left last time. 
     72 
     73Config file format 
     74------------------ 
     75 
     76When your project is composed by multiple upstream modules, it is 
     77easier to collect such information in a single file. This is done by 
     78specifying the `--configfile` option with a file name as argument. In 
     79this case, tailor will read/write the above information from a 
     80standard Python dictionary stored in the given file.  
     81 
     82The dictionary is keyed on the relative position of each project, and 
     83each entry carries the same information described above. 
     84 
     85Here's an example config file entry:: 
    5086 
    5187 {'plone/atcontenttypes': {'module': 'ATContentTypes', 
     
    5692                           'upstream_revision': '2004-11-24 19:42:06 by ctheune'}} 
    5793 
    58 The above represents one entry in a config file.  You can multiple entries, 
    59 but be careful to make sure have an extra bracket on the first and last lines 
    60 of the file. Here's an example with three entries to illustrate this: 
    61  
    62  {'plone/atcontenttypes': {'module': 'ATContentTypes', 
    63                            'source_kind': 'cvs', 
    64                            'subdir': 'ATContentTypes', 
    65                            'target_kind': 'darcs', 
    66                            'upstream_repos': ':ext:cvs.sourceforge.net:/cvsroot/collective', 
    67                            'upstream_revision': '2004-11-24 19:42:06 by ctheune'}, 
    68   'plone/btreefolder2': {'module': 'Products/BTreeFolder2', 
    69                          'source_kind': 'cvs', 
    70                          'subdir': 'BTreeFolder2', 
    71                          'target_kind': 'darcs', 
    72                          'upstream_repos': ':pserver:anonymous@cvs.zope.org:/cvs-repository', 
    73                          'upstream_revision': '2004-06-16 23:45:45 by shane'}, 
    74   'plone/cmfactionicons': {'module': 'CMF/CMFActionIcons', 
    75                            'source_kind': 'cvs', 
    76                            'subdir': 'CMFActionIcons', 
    77                            'target_kind': 'darcs', 
    78                            'upstream_repos': ':pserver:anonymous@cvs.zope.org:/cvs-repository', 
    79                            'upstream_revision': '2004-10-04 17:03:38 by tseaver'}} 
    80  
    8194By convention, config files are named with the extension ".tailor", but this is 
    8295not enforced. 
    8396 
    84 In the example above, 'plone/atcontenttypes' is a directory where the target source 
    85 will be stored. The keys such 'module', 'source_kind', etc correspond to options 
    86 of the same name. See the output of 'tailor.py' for more details.  
     97In the example above, 'plone/atcontenttypes' is a directory where the 
     98target source will be stored. The keys such 'module', 'source_kind', 
     99etc correspond to options of the same name. 
     100 
     101When using a config file, tailor will perform its job on each project 
     102contained in the dictionary. 
    87103 
    88104 
    89 FURTHER HELP 
    90 ---------------------------------------------------------------------- 
    91 See the output of tailor.py -h for some further tips.  
     105Further help 
     106============ 
     107 
     108See the output of tailor.py -h for some further tips. I will be more 
     109than happy to answer any doubt, question or suggestion you may have on 
     110it. I'm usually hanging as "lelit" on the IRC channel devoted to darcs 
     111on the freenode.net network. Do not hesitate to contact me either by 
     112email or chatting there. 
    92113 
    93114 
    94 AUTHOR 
    95 ---------------------------------------------------------------------- 
     115Author 
     116====== 
     117 
    96118Lele Gaifax <lele@nautilus.homeip.net> 
    97119 
Note: See TracChangeset for help on using the changeset viewer.