Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Subversion

Îåêßíçóå áðü ôï ìÝëïò gmlogic. Τελευταία δημοσίευση από το μέλος gmlogic στις 01-02-2008, 11:30. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  30-01-2008, 00:13 39689

    Subversion

    Μπορούμε να ξεκινήσουμε μιά συζήτηση για Subversion
    Γιατί έχω λίγο χαθή.
    Ευχαριστώ

    George Matzouranis
  •  30-01-2008, 05:33 39702 σε απάντηση της 39689

    Απ: Subversion

    Τι θέλεις να μάθεις; Ας τα πάρουμε από την αρχή. Έχεις καταφέρει να το εγκαταστήσεις;

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  30-01-2008, 10:36 39708 σε απάντηση της 39702

    Απ: Subversion

    Ναι.
    Ξεκινάω ένα project και στο File του VS2005 Professional Edition έχω Add solution to Subverion repository.
    και μου ζητάει Location για URL ή Subdirectory
    Δεν καταλαβαίνω γιατί URL ...... δηλ θα δημιουργήση ένα Subverion του project σε αυτό το URL ;
     Πέρνω error
    NSvn.Core.SvnClientException:
    The VCC property was not found on the resource
    at NSvn.Core.Client.Checkout(String url, String path, Revision pegRevision, Revision revision, Recurse recurse, Boolean ignoreExternals) in d:\tmp\build-26\src\nsvn.core\client.cpp:line 330
    at NSvn.Core.Client.Checkout(String url, String path, Revision revision, Recurse recurse) in d:\tmp\build-26\src\nsvn.core\client.cpp:line 318
    at Ankh.Commands.CheckoutRunner.Work(IContext context) in D:\tmp\build-26\src\Ankh\Commands\CheckoutRunner.cs:line 34
    at Ankh.ProgressRunner.Run() in D:\tmp\build-26\src\Ankh\ProgressRunner.cs:line 95


    dte=8.0&

    Version: 1.0.2.2778
    Υπάρχη στα Tools ένα AnkHSVN
    και φαίνετε ένα SVN Checkout... και ένα TortoiseSVN στο RightClick και εκτός του VS.

    Δεν ξέρω τη σειρά των πραγμάτων.
    Αν κάποιος δουλεύει SVN θα ήθελα κάποια οδηγία.
    Ευχαριστώ.  Geeked

    George Matzouranis
  •  30-01-2008, 16:06 39729 σε απάντηση της 39708

    Απ: Subversion

    Πώς το εγκατέστησες; Χρησιμοποίησες κάποιο package πχ το Subversion 1-click setup?

    Προσωπικά έχω εγκαταστήσει το subversion χειροκίνητα (δεν είναι ιδιαίτερα δύσκολο), και η τελευταία φορά που χρησιμοποίησα το AnkhSVN ήταν πριν αρκετό καιρό, όταν δεν ήταν ακόμα πολύ ώριμο, οπότε δουλεύω αποκλειστικά με το TortoiseSVN (και με αυτό θα ασχοληθώ εδώ).
    Η διαφορά τους είναι ότι το μεν πρώτο επιτρέπει source control κινήσεις μέσα από το visual studio, ενώ το δεύτερο από τον explorer.

    Τώρα, η λογική του Subversion (και σχεδόν κάθε source control συστήματος) είναι η εξής:
    Έχεις ένα μαύρο κουτί, που το λένε repository. Αυτό το "κουτί" περιέχει τον κώδικά σου, και τις αλλαγές που έχεις κάνει κατά καιρούς. Δεν σε απασχολεί το πώς είναι αποθηκευμένα όλα αυτά, ούτε δουλεύεις απ'ευθείας με αυτό.

    Όταν εγκαταστήσεις το subversion, πρέπει να δημιουργήσεις ένα repository (δες εδώ για το πώς να το κάνεις με το tortoiseSVN).
    Το επόμενο βήμα είναι να κάνεις import τα αρχεία που θέλεις να ελέγχονται από το source control. Σε ενδιαφέρουν κυρίως τα αρχεία του κώδικα, του solution & του project. Δεν πρέπει να εισάγεις στο repository μη πρωτογενή αρχεία (για παράδειγμα, το αποτέλεσμα ενός build του κεντρικού σου project, δεν έχει λόγο ύπαρξης στο repository, ούτε και τα debug .pdb αρχεία).


    Οπότε μέχρι στιγμής, έχεις καταφέρει να "γεμίσεις" το repository με τον κώδικά σου. Ναι αλλά πώς θα δουλέψεις με αυτόν; Εδώ χρειάζεσαι το λεγόμενο "working folder". Δηλαδή, ένας κατάλογος όπου ακολουθείς την εξής διαδικασία:
    1) "Τραβάς" τις αλλαγές από το repository (κυρίως όταν δουλεύουν πολλοί χρήστες) στο working folder (update)
    2) Δουλεύεις όλα τα projects σου στο working folder τους
    3) Στέλνεις τις αλλαγές πίσω στο repository (commit)
    4) Το working folder δεν διαγράφεται. Εσύ γράφεις τον κώδικα σε αυτό, όχι στο repository απ'ευθείας.
    5) Επικοινωνείς με το repository μέσω URL (πχ svn://localhost/Repository ή file://...)


    Αυτές είναι οι γενικές γραμμές για να ξεκινήσεις με το subversion. Δεν ξέρω αν γίνομαι δύσκολος στην κατανόηση, και μάλλον έχω αφήσει κάποια πράγματα απ' έξω, αλλά... εδώ είμαστε!

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  31-01-2008, 12:06 39745 σε απάντηση της 39729

    Απ: Subversion

    Δεν ξέρω αν κατάλαβα καλά.Νομίζω ότι το SVN κρατάει γενικά το version οποιουδήποτε file κάνουμε import στην repository.
    Έχουμε
    E:\SVNRepository ο Repository φάκελλος.
    RightClick Create Repository here...
    Και κάτω από το E:\SVNRepository φτιάχνη το SVN την βάση του.
    ------
    Έχουμε πχ E:\test1\test1.vb,E:\test1.Designer.vb\test1.resX,E:\test1\test12.vb και E:\test1\bin\test.dll ή οποιαδήποτε αρχεία κώδικα txt,vb,cs,xml κλπ
    Θέλω να παρακολουθώ το E:\test1\test1.vb,test1.Designer.vb,test1.resX
    Το Import γίνετε ;
    RightClick πάνω στο E:\test1\ και tortoiseSVN και Import
    ή ανοίγουμε τον Repo-Browser και κάνουμε Add folder ;
    και στις δύο περιπτώσεις μπαίνη και το E:\test1\bin\test.dll
    αυτό το διαγράφουμε μετά ;

    Μετά ανοίγουμε ένα working folder, κάπου αλλού ;
    Τί ενοείς όταν λές
    1) "Τραβάς" τις αλλαγές από το repository (κυρίως όταν δουλεύουν πολλοί χρήστες) στο working folder (update)



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


    George Matzouranis
  •  31-01-2008, 18:03 39759 σε απάντηση της 39745

    Απ: Subversion

    Ναι, μπορείς μετά μέσα από το TortoiseSVN να διαγράψεις κάποιο αρχείο που δε θέλεις.

    Για τη δεύτερή σου ερώτηση (μπορεί να μου ξεφύγει κάτι γιατί δεν είμαι στο PC μου): Όταν δουλεύεις με κάποιο source control μέσω του visual studio, το VS δεν γνωρίζει τίποτα για την ύπαρξη του repository, αλλά ασχολείται μόνο με τα αρχεία που υπάρχουν στο working folder.

    Φαντάσου το working folder σαν μια cache των δεδομένων σου τα οποία βρίσκονται αποθηκευμένα στο repository.
    1. Την πρώτη φορά που θα χρησιμοποιήσεις το svn, πρέπει να φτιάξεις ένα working folder. Στο tortoiseSVN κάνεις Checkout τα στοιχεία που θέλεις από το repository σε έναν κατάλογο πχ E:\WorkingCopy
    2. Πλέον μπορείς να δουλέψεις με το working copy μέσω του visual studio. Δηλαδή όταν θέλεις να ανοίξεις ένα project, το ψάχνεις στον κατάλογο E:\WorkingProject\...
    3. Όταν τελειώσεις με το project, πρέπει να κάνεις Commit. Αυτό αποθηκεύει τις αλλαγές σου στο repository.
    4. Αν υπήρχαν πολλοί χρήστες πάνω από το ίδιο repository και ο καθένας έκανε τις δικές του αλλαγές (αυτό είναι ένα από τα καλά των source control συστημάτων), θα υπήρχε πρόβλημα στο να συγχρονίσετε τις αλλαγές μεταξύ σας! Γι' αυτόν τον λόγο υπάρχει η λειτουργία Update. Πχ.:
      1. Έστω δύο χρήστες, ο Α και ο Β. Στην αρχή της μέρας τα working copies τους είναι ίδια.
      2. Ο Α πειράζει το αρχείο Tade.cs.
      3. Ο A κάνει Commit, οι αλλαγές αποθηκεύονται και σχολάει.
      4. Για να ενημερωθεί ο Β για τις αλλαγές του Α στο Tade.cs, πρέπει να κάνει Update. Αυτό αναγκάζει το subversion να ενημερώσει το working copy του B με τις τελευταίες αλλαγές.
    Το παραπάνω παράδειγμα είναι λίγο απλοποιημένο φυσικά, αλλά και πάλι οι λειτουργίες του subversion είναι πολλές από μόνες τους. Ρίξε μια ματιά στο tutorial αυτό, όπου μάλλον εξηγεί καλύτερα από μένα τις έννοιες του subversion/tortoiseSVN.

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  01-02-2008, 11:30 39766 σε απάντηση της 39759

    Απ: Subversion

    Ok Δημήτρη
    Θα τα δώ.

    Σας ευχαριστώ Smile


    George Matzouranis
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems