26.05.2011 14:03, Gökçen Eraslan yazmış:
Selamlar,

Pisi'deki index kodunu biraz daha hızlandırmak şöyle bir yama yaptım:

Index: index.py
===================================================================
--- index.py    (revision 37006)
+++ index.py    (working copy)
@@ -92,6 +92,8 @@
          deltas = {}

          for root, dirs, files in os.walk(repo_uri):
+            dirs[:] = [d for d in dirs if d not in ['.svn', '.git', '.hg']]
+
              for fn in files:

                  if fn.endswith(ctx.const.delta_package_suffix):

Fakat burada okunabilirliği azalttığı ve tavsiye edilmediği için [:] hack'ini
kullanmak istemiyorum, zira kullanmayınca da dirs değişkeni değiştirilmiyor.
Tek tek dirs.remove(x) ile silmek de hoşuma gitmiyor.

Başka çözüm bilen var mı?

.svn, .git, .hg gibi şeyleri hardcode etmek pek içime sinmedi açıkçası. Davranışı nokta ile başlayan dizinleri atlayacak şekilde değiştirebiliriz.

if os.path.basename(root).startswith("."):
    continue

yapılabilir.

Diğer bir çözüm de index komutuna --exlude-dirs=.* gibi bir parametre verebilmek olabilir.
_______________________________________________
Gelistirici mailing list
Gelistirici@pardus.org.tr
http://liste.pardus.org.tr/mailman/listinfo/gelistirici

Cevap