Je ne vous cache pas être singulièrement déçu de trouver des choses
pareilles dans prcs2svn. Bon sang, on n'a plus ce niveau-là !!!
Je ne parle même de la boucle for qui peut certainement s'écrire avec
un map (mais je ne connais pas assez Python pour l'instant).
Index: ChangeLog
from Akim Demaille <akim(a)epita.fr>
Factor!
* prcs2svn/prcs2svn.py (Svn.changes_apply_add): New, replaces...
(Svn.changes_apply_directories_add)
(Svn.changes_apply_links_add)
(Svn.changes_apply_files_add): these similar routines.
BTW, kill some meaningless, and probably antique, comments.
Index: prcs2svn/prcs2svn.py
--- prcs2svn/prcs2svn.py (revision 92)
+++ prcs2svn/prcs2svn.py (working copy)
@@ -601,31 +601,19 @@
f.write("Symbolic link to: " + ref + "\n")
f.close()
- # Add directories.
- # The destination of a renaming may be in a new directory.
- def changes_apply_directories_add(self, diffs):
- if len(diffs.added_dirs):
- info(" > Add directories to Subversion repository")
+
+ def changes_apply_add (self, kind, list):
+ "svn add the new KIND entities in LIST."
+ if list:
+ info(" > Add " + kind + " to Subversion repository")
args = ""
- for d in diffs.added_dirs:
+ for d in list:
info(" * " + d)
- args = args + " " + quote(d)
+ args += " " + quote (d)
if infos.action:
xsystem("svn add --non-recursive" + args)
- # Add Links.
- # FIXME: bad trick to convert some projects.
- def changes_apply_links_add(self, diffs):
- if len(diffs.links):
- info(" > Add links to Subversion repository")
- args = ""
- for l in diffs.links:
- info(" * " + l)
- args = args + " " + quote(l)
- if infos.action:
- xsystem("svn add --non-recursive" + args)
-
# Rename files.
# The source always exists and so does the destination directory.
def changes_apply_files_rename(self, diffs, checkin_login, version_log, \
@@ -673,18 +661,6 @@
for b in backup.keys():
xmove(backup[b], b)
- # Add files.
- # Hard to explain, see movement of "Makefile.am" in oln 0_7_reconf.1.prj.
- def changes_apply_files_add(self, diffs):
- if len(diffs.added_files):
- info(" > Add files to Subversion repository")
- args = ""
- for f in diffs.added_files:
- info(" * " + f)
- args = args + " " + quote(f)
- if infos.action:
- xsystem("svn add --non-recursive" + args)
-
# Delete directories and files.
# Deleting a directory may delete a source of a renaming.
def changes_apply_files_directories_delete(self, diffs):
@@ -706,11 +682,11 @@
# Be careful: the order is very important!
def changes_apply(self, diffs, checkin_login, version_log, checkin_time):
self.changes_apply_links_replace(diffs)
- self.changes_apply_directories_add(diffs)
- self.changes_apply_links_add(diffs)
+ self.changes_apply_add ("directories", diffs.added_dirs)
+ self.changes_apply_add ("symlinks", diffs.links)
self.changes_apply_files_rename(diffs, checkin_login, version_log,
checkin_time)
- self.changes_apply_files_add(diffs)
+ self.changes_apply_add ("files", diffs.added_files)
self.changes_apply_files_directories_delete(diffs)
Show replies by date
Akim Demaille wrote:
Je ne vous cache pas être singulièrement déçu de
trouver des choses
pareilles dans prcs2svn. Bon sang, on n'a plus ce niveau-là !!!
Tout à fait. C'est aussi l'occasion d'en remettre une couche sur
l'intérêt de documenter régulièrement si ce n'est au fur et à mesure. Quand
vous documentez votre code, vous le relisez et vous VOYEZ ces choses là.
--
Didier Verna, didier(a)lrde.epita.fr,
http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 44 08 01 85
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 53 14 59 22 didier(a)xemacs.org