πρόβλημα κατά την αντιγραφή/αποκοπή σε external hdd/usb stick
χαιρετώ το forum. πρώτο μου post οπότε αν γράψω κάτι λάθος δείξτε μου επιείκεια.

το πρόβλημα άρχισε εδώ και καμία βδομάδα. οτι αρχείο πάω να αντιγράψω σε usb stick η σε εξωτερικό δίσκο ενώ μου δείχνει κανονικά την διαδικασία αντιγραφείς οτι γίνεται εν τέλει ή μου γράφει τα μισά ή τα αντιγράφει και …
[εικόνα] petrosmpam:

πιθανολογώ οτι φταίει το nemo άρα.

τώρα που το λες έχω ξανακούσει παλιότερα για προβλήματα στις αντιγραφές με τον nemo (δεν είχα εγώ τέτοια για τον απλό λόγο ότι δεν χρησιμοποιώ mint/cinnamon/nemo). αν υπάρχει τέτοιο bug η κοινότητα τού mint/cinnamon θα έπρεπε να το έχει …
Τι θα λέγατε για παλιές καλές γραμμής εντολών Xcopy; Με S: είναι η πηγή και Τ: στόχου:



```
xcopy /K /R /E /I /S /C /H /G /X /Y s:\*.* t:\

```


> 
> / K Αντίγραφα χαρακτηριστικά. Κανονική Xcopy θα επαναφέρετε μόνο για ανάγνωση χαρακτηριστικά.
> 
> 
> / R Αντικαθιστά αρχεία μόνο για ανάγνωση.
> 
> 
> / E Αντίγραφα καταλόγους και υποκαταλόγους, συμπεριλαμβανομένων των κενών αυτών.
> 
> 
> / I Αν ο προορισμός δεν υπάρχει και αντιγραφή περισσότερα από ένα αρχεία, υποθέτει ότι προορισμού πρέπει να είναι ένας κατάλογος.
> 
> 
> / S Αντίγραφα καταλόγους και υποκαταλόγους, εκτός από κενά.
> 
> 
> / C Συνεχίζει την αντιγραφή, ακόμη και αν παρουσιαστούν σφάλματα.
> 
> 
> / H Αντίγραφα κρυμμένο και αρχεία συστήματος επίσης.
> 
> 
> / Y Καταστέλλει ζητά να επιβεβαιώσετε ότι θέλετε να αντικαταστήσετε ένα υπάρχον αρχείο προορισμού.
> 
> 
> / G επιτρέπει την αντιγραφή των κρυπτογραφημένων αρχείων σε προορισμό που δεν υποστηρίζει κρυπτογράφηση.
> 
> 
> / X ρυθμίσεις ελέγχου αρχείο Αντίγραφα (υπονοεί / O).
> 
> 
> 


(Επεξεργασία: Προστέθηκε / G και / Χ τα οποία είναι νέο από λίγα χρόνια) Αυτή είναι η γνώμη μου, αλλά? όπως ακριβώς και οι τάξεις περίπτωση δεν, θα ήθελα να εφαρμόσουν μια `copy`μέθοδο του είδους στην τάξη για να καταστεί δυνατή η τροποποίηση, διατηρώντας παράλληλα το αμετάβλητο, αλλά υπάρχει ορισμένες περιπτώσεις που δεν μπορώ να βοηθήσω να το μεταβλητό? Για παράδειγμα, όταν κάτι αναμένεται να γίνει η λειτουργία αντιγραφής είναι πολύ μεγάλη και αργή για την κατηγορία? όπως όταν η τάξη έχει τόσα πολλά συχνά τροποποιημένο μέλη. Και μην ανησυχείτε για χιλιάδες περιπτώσεις που επιπλέουν γύρω στη μνήμη, επειδή είναι αυτόματα GC'ed, οπότε το πιο πραγματικό πρόβλημα είναι ο χρόνος κόστος της αντιγραφής περιπτώσεις της κλάσης. Παρακαλώ πείτε μου εάν η γνώμη μου είναι κάπως λάθος :) Για περισσότερες λεπτομέρειες δείτε το SVNBook: [«Κατάσταση της εργασίας αντιγραφή αρχείων και καταλόγων»](http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.status.html) .


Οι κοινές καταστάσεις:



> 
> **U** : αρχείο εργασίας ενημερώθηκε
> 
> 
> **G** : Αλλαγές στο repo συγχωνεύθηκαν αυτόματα στο αντίγραφο εργασίας
> 
> 
> **Μ** : Αντίγραφο εργασίας έχει τροποποιηθεί
> 
> 
> **Γ** : Αυτό το αρχείο συγκρούσεις με την έκδοση του repo
> 
> 
> **;** : Αυτό το αρχείο δεν είναι υπό τον έλεγχό έκδοση
> 
> 
> **!** : Αυτό το αρχείο είναι υπό έλεγχο έκδοσης, αλλά λείπει ή είναι ελλιπή
> 
> 
> **Α** : Αυτό το αρχείο θα προστεθεί σε έλεγχο έκδοσης (μετά τη διάπραξη)
> 
> 
> **A +** : Αυτό το αρχείο θα μετακινηθεί (μετά τη διάπραξη)
> 
> 
> **Δ** : Αυτό το αρχείο θα διαγραφεί (μετά τη διάπραξη)
> 
> 
> **S** : Αυτό σημαίνει ότι το αρχείο ή ο κατάλογος έχει αλλάξει από την πορεία του υπόλοιπου αντίγραφο εργασίας (με το διακόπτη svn) σε ένα υποκατάστημα
> 
> 
> **I** : Αγνοήθηκε
> 
> 
> **Χ** : Εξωτερικές ορισμό
> 
> 
> **~** : Τύπος άλλαξε
> 
> 
> **R** : Item έχει αντικατασταθεί στο αντίγραφο εργασίας σας. Αυτό σημαίνει ότι το αρχείο είχε προγραμματιστεί για διαγραφή, και στη συνέχεια ένα νέο αρχείο με το ίδιο όνομα είχε προγραμματιστεί για προσθήκη στη θέση του.
> 
> 
> **L** : Θέση είναι κλειδωμένη
> 
> 
> **Ε** : Item υπήρχαν, όπως θα έχουν δημιουργηθεί, από μια ενημέρωση svn.
> 
> 
> Διακλάδωση σε ανατροπή διευκολύνεται από ένα πολύ πολύ ελαφριά και αποτελεσματική εγκατάσταση αντιγραφή.


Διακλάδωση και tagging είναι ουσιαστικά η ίδια. Απλά αντιγράψτε ολόκληρο το φάκελο στο χώρο αποθήκευσης κάπου αλλού στο αποθετήριο χρησιμοποιώντας την `svn copy`εντολή.


Βασικά, αυτό σημαίνει ότι είναι κατά συνθήκη τι αντιγραφή ενός φακέλου σημαίνει - είτε πρόκειται για ένα αντίγραφο ασφαλείας, ετικέτα, υποκατάστημα ή whater. Ανάλογα με το πώς θέλετε να σκεφτείτε για τα πράγματα (συνήθως ανάλογα με το ποιο εργαλείο SCM έχετε χρησιμοποιήσει στο παρελθόν) θα πρέπει να δημιουργηθεί μια δομή φάκελο μέσα αποθήκευσης σας για να υποστηρίξει το στυλ σας.


Κοινή στυλ είναι να έχουμε ένα σωρό φακέλους στην κορυφή του χώρου αποθήκευσης σας ονομάζεται `tags`, `branches`, `trunk`, κλπ - που σας επιτρέπει να αντιγράψετε όλη σας `trunk`(ή υπο-ομάδες) στους `tags`ή / και `branches`φακέλους. Αν έχετε περισσότερα από ένα έργο μπορεί να θέλετε να αναπαράγουν αυτό το είδος της δομής κάτω από κάθε έργου:


Μπορεί να πάρει λίγο χρόνο για να συνηθίσουν στην ιδέα - αλλά δουλεύει - απλά φροντίστε να (και την ομάδα σας) είναι σαφείς σχετικά με τις συμβάσεις που πρόκειται να χρησιμοποιήσετε. Είναι επίσης μια καλή ιδέα να έχουμε μια καλή σύμβαση ονοματοδοσίας - κάτι που εξηγεί γιατί το υποκατάστημα / tag έγινε και κατά πόσο εξακολουθεί να είναι σκόπιμο - να εξετάσει τρόπους κλάδους αρχειοθέτησης που είναι παρωχημένες. Μπορείς να μας δώσεις λίγες περισσότερες πληροφορίες για να προσπαθήσουμε να εντοπίσουμε το πρόβλημα; Μια εικόνα από την αρχική σελίδα και ίσως από τις τελευτέες ενότητες θα βοηθούσαν. Δεν υπάρχει τίποτα που θα κάνει αυτόματα ό, τι θέλετε.


Ωστόσο, υπάρχει μια ενότητα zipfile python που θα κάνουν αυτό το εύκολο να το κάνουμε. Εδώ είναι πώς να μετακινηθείτε πάνω από τις γραμμές του αρχείου.



```
#!/usr/bin/python

import zipfile
f = zipfile.ZipFile('myfile.zip')

for subfile in f.namelist():
    print subfile
    data = f.read(subfile)
    for line in data.split('\n'):
        print line

``` Αμφιβάλλω πολύ ότι η «μετατροπή» που βλέπετε είναι μια πραγματική διαφορά στις δύο αντίγραφα του αρχείου. OS X δεν αποθηκεύει οποιοδήποτε είδος της αξίας κωδικοποίηση για το περιεχόμενο ενός αρχείου, έτσι είναι πολύ πιο πιθανό ότι είναι ό, τι εργαλείο που χρησιμοποιείτε για να προβάλλετε / επεξεργαστείτε αρχεία σας που ερμηνεύουν το περιεχόμενο με διαφορετικό τρόπο, είτε πρόκειται για Xcode, TextWrangler, ή οτιδήποτε άλλο πρόγραμμα επεξεργασίας που χρησιμοποιείτε. Κάνοντας μια ευθεία αντίγραφο του αρχείου, είτε είναι από το Finder, Path Finder ή την γραμμή εντολών, δεν θα αλλάξει ποτέ τα πραγματικά δεδομένα στο αρχείο κατά τη διαδικασία της αντιγραφής.


UTF-8 και Mac OS ρωμαϊκή είναι στην πραγματικότητα το ίδιο, αν δεν έχετε κανένα χαρακτήρα παραπάνω 0x7F, γι 'αυτό είναι πολύ πιθανό ότι ένα έγκυρο αρχείο UTF-8 χωρίς BOM θα μπορούσε να ερμηνευθεί ως ένα αρχείο Ρωμαϊκή Mac OS. Σε κάθε περίπτωση, θα ήθελα να εξετάσουμε ό, τι πρόγραμμα είναι αυτό που είναι που δείχνει ότι η κωδικοποίηση για να βρουν τη λύση, δεν τη διαδικασία αντιγραφής αρχείων της ίδιας OS X. Η τεχνική που περιγράφεται φαίνεται ωραίο, αλλά έχει πολλές παγίδες:


1) ο χρόνος μεταξύ της έναρξης PHP script και άκρο είναι μικρή σε σύγκριση με το χρόνο μετάδοσης? Επίσης, αυτό σώζει το χρήστη για 0,5 δευτερόλεπτα, σύμφωνα με την πηγή σας. Είναι αυτό ένα σημαντικό χρονικό διάστημα για εσάς;


2) αυτή η τεχνική δεν λειτουργεί με gzip buffering εξόδου


3) αν ξεπλύνετε πάρα πολύ συχνά, θα πρέπει να στείλει ένα σχεδόν άδειο πακέτο στο ίδιο επίπεδο, το οποίο θα μπορούσε πραγματικά να αυξήσει το χρόνο φόρτωσης (για αργή, θορυβώδη συνδέσεις).


4) Μόλις ξεπλύνετε, δεν μπορείτε να στείλετε πια κεφαλίδες


5) (δευτερεύον θέμα) η απόκριση του server θα έρθει στην κατατμημένη κωδικοποίηση, που σημαίνει ότι ο πελάτης δεν θα γνωρίζει το μέγεθος των προτέρων (ως εκ τούτου δεν θα εμφανίσει «x% γίνεται» κατά τη λήψη ενός αρχείου).


Από την άλλη πλευρά, αν περιμένετε το σενάριο σας να τρέχει για ένα τραγικό βαθμό (20+ δευτερόλεπτα), μπορεί να χρειαστεί να στείλει κάποια δεδομένα (χώροι, για παράδειγμα) για να κρατήσει το πρόγραμμα περιήγησης από το χρονοδιάγραμμα από τη σύνδεση. HTML θα είναι η επόμενη καλύτερη επιλογή, μόνο αν θα τους εξυπηρετήσει από ένα δημόσιο web server. Αν προσπαθήσει να το συνδυάσει με την εφαρμογή σας, όλα τα αρχεία (και εικόνες (και φύλλων στυλ (και ...))) θα κάνει CHM μοιάζει με ένα δώρο από τους θεούς.


Τούτου λεχθέντος, όταν στην πραγματικότητα στο πακέτο εγκατάστασης, (αντί να εξυπηρετούνται μέσω του δικτύου), βρήκα τα αρχεία CHM να δουλέψουν καλά.


OTOH, μια άλλη παγίδα για τα αρχεία CHM: Ακόμα και αν προσπαθείτε να ανοίξετε ένα αρχείο CHM σε έναν **τοπικό** δίσκο, μπορείτε να χτύπημα σε μπλοκ ασφαλείας, αν κατεβάσει αρχικά από κάπου, επειδή το αρχείο θα μπορούσε να επισημανθεί ως «προήλθε από εξωτερική πηγή» όταν ελήφθη. **Δεν υπάρχει εύκολος τρόπος για να μάθετε το μέγεθος της μνήμης ενός αντικειμένου python** . Ένα από τα προβλήματα που μπορεί να βρει είναι ότι η Python αντικείμενα - όπως λίστες και DICTS - μπορεί να έχει αναφορές σε άλλα αντικείμενα python (σε αυτή την περίπτωση, τι θα το μέγεθός σας είναι το μέγεθος που περιέχει το μέγεθος του κάθε αντικειμένου ή όχι;). Υπάρχουν μερικοί δείκτες γενικά και οι εσωτερικές δομές που σχετίζονται με την αντίρρηση τους τύπους και τη συλλογή σκουπιδιών. Τέλος, ορισμένα αντικείμενα python έχουν μη-προφανή συμπεριφορές. Για παράδειγμα, αναφέρει χώρο αποθεματικό για περισσότερα αντικείμενα από ό, τι έχουν, τις περισσότερες φορές? DICTS είναι ακόμη πιο περίπλοκη, δεδομένου ότι μπορούν να λειτουργήσουν με διαφορετικούς τρόπους (που έχουν μια διαφορετική εφαρμογή για μικρό αριθμό των κλειδιών και μερικές φορές διαθέσει πάνω από συμμετοχές).


Υπάρχει ένα [μεγάλο κομμάτι του κώδικα](http://code.activestate.com/recipes/544288/) (και μια [ενημερωμένη μεγάλο κομμάτι του κώδικα](http://code.activestate.com/recipes/546530/) ) εκεί έξω για να προσπαθήσει να προσεγγίσει καλύτερα το μέγεθος ενός αντικειμένου πύθωνα στη μνήμη.


Μπορεί επίσης να θέλετε να ελέγξετε κάποια [παλαιά περιγραφή για PyObject](http://mail.python.org/pipermail/python-list/2002-March/135223.html) (την εσωτερική struct C, που αντιπροσωπεύει σχεδόν όλα τα αντικείμενα python).