|
-
01-11-2005, 14:06
|
-
kkara
-
-
-
Μέλος από τις 26-09-2005
-
Ν.Ηράκλειο, Αθήνα
-
Δημοσιεύσεις 125
-
-
|
Είμαι τελείως καινούριος στην χρήση του SourceSafe (v6.0d) στο Visual Studio 2003 και χρειάζομαι μια μικρή βοήθεια ![Embarrassed [:$]](/cs/emoticons/emotion-10.gif) ...
Η απορία μου βασικά είναι αν μπορώ να το ρυθμίσω ώστε ανά πάσα στιγμή
όλοι οι χρήστες να βλέπουν την τελευταία έκδοση του κώδικα, χωρίς να
χρειάζεται να κάνουν Get Latest Version. Π.χ. αν κάποιος άλλος χρήστης
προσθέσει ένα νέο αρχείο και το κάνει Check In θα ήθελα με κάποιο τρόπο
να το γνωρίζω ενώ έχω ανοιχτό το project στο VS (ή έστω να με
ειδοποιήσει ότι υπήρξε κάποια αλλαγή και να κάνω manually Get). Διάβασα
για τα Shadow Folders αλλά επειδή όλοι οι χρήστες θα θέλουν να κάνουν
και τοπικό compile, δεν με βολεύει (ή αλλιώς δεν τα κατάλαβα καλά).
Θεωρούσα ότι αυτή η λειτουργικότητα θα ήταν αυτονόητη, αλλά προφανώς
έσφαλα (ή είμαι τυφλός και δεν το βλέπω ![Smile [:)]](/cs/emoticons/emotion-1.gif) ).
Ευχαριστώ εκ των προτέρων...
Στερνή μου γνώση να σε είχα πρώτα...
|
|
-
01-11-2005, 17:02
|
-
01-11-2005, 19:29
|
|
Η αλήθεια είναι ότι το SourceSafe δεν είναι, ούτε για μένα, από τα δυνατά στοιχεία μου.
Αν κάποιος έχει να προτίνει κάτι για διάβασμα, έξω από αυτά που λέει το MSDN για το SourceSafe, δηλαδή τις δυνατότητές του και περιγραφή της λειτουργίας του με τις διάφορα προγράμματα της Microsoft, όπως παραδείγματος χάρην, φιλοσοφία και μεθοδολογία τεχνικής Source-Safing, ή και ακόμα εμπειρίες από χρήση του SourceSafe, είναι καλοδεχούμενος να το μοιραστεί μαζί μας.
George J.
|
|
-
01-11-2005, 19:36
|
-
kkara
-
-
-
Μέλος από τις 26-09-2005
-
Ν.Ηράκλειο, Αθήνα
-
Δημοσιεύσεις 125
-
-
|
Ώστε δεν είμαι τυφλός, και όντως δεν υπήρχε αυτή η δυνατότητα (γι' αυτό
δεν τη βρήκα)... Το καλό είναι ότι γλυτώνω τον οφθαλμίατρο το κακό
είναι ότι δεν έκανα τη δουλειά μου ![Sad [:(]](/cs/emoticons/emotion-6.gif) .
Καθότι κι εγώ "φτωχός", κοίταξα μόνο τις CodeProject εφαρμογές και όχι
τις εμπορικές. Η δεύτερη δούλευε με Console λύση, οπότε δεν ασχολήθηκα.
Άρα μας μένει η πρώτη... Πολύ ενδιαφέρουσα, αλλά δυστυχώς δεν κατάφερα
να την κάνω να δουλέψει με τον τρέχων Messenger που έχω.
Όντως η ιδέα πίσω από την εφαρμογή ήταν ακριβώς αυτό που ήθελα, να
μπορέσω δηλαδή να λαμβάνω ειδοποιήσεις όταν συμβαίνει κάποιο event στη
DB του VSS. Μπορούσε να στέλνει ειδοποιήσεις μέσω e-mail (που δεν με
απασχολούσε, οπότε δεν ασχολήθηκα) και μέσω του MSN Messenger, που θα
ήταν θεϊκό αν δούλευε. Το κακό είναι ότι η εφαρμογή έχει φτιαχτεί παλιά
και προφανώς χρησιμοποιεί πολύ παλιά έκδοση του MSN Messenger (την 4,
σύμφωνα με τον author). Η λύση φυσικά θα ήταν να πάρω το API του
τρέχοντος Messenger και να γράψω τον κατάλληλο κώδικα, αλλά δεν
καίγομαι τόοοοοοοοοοσο πολύ ![Wink [;)]](/cs/emoticons/emotion-5.gif) .
Πάντως το θεωρώ απαράδεκτο να μην ενημερώνεσαι για τις αλλαγές που
κάνουν άλλοι στον κώδικα από το ίδιο το SourceSafe. Δηλαδή αν δεν έχω
τον συνάδελφο απέναντι να μου πει πάρε τελυταία έκδοση τι κάνω; Ή αν
κάνουμε ταυτόχρονα αλλαγές στο ίδιο Project; Ας ελπίσουμε ότι το νέο
SourceSafe για το VS2005 θα έχει διαφορετικό προσανατολισμό...
Στερνή μου γνώση να σε είχα πρώτα...
|
|
-
01-11-2005, 20:01
|
|
kkara wrote: | Πάντως το θεωρώ απαράδεκτο να μην ενημερώνεσαι για τις αλλαγές που κάνουν άλλοι στον κώδικα από το ίδιο το SourceSafe. Δηλαδή αν δεν έχω τον συνάδελφο απέναντι να μου πει πάρε τελυταία έκδοση τι κάνω; Ή αν κάνουμε ταυτόχρονα αλλαγές στο ίδιο Project; Ας ελπίσουμε ότι το νέο SourceSafe για το VS2005 θα έχει διαφορετικό προσανατολισμό...
|
|
Πολύ φοβάμαι ότι αυτό, μοιάζει σαν feature του "Μεγάλου Αδελφού" του SourceSafe 2005, του Team System Foundation Server...
Θα το δω, να σου πω σίγουρα...
George J.
|
|
-
01-11-2005, 22:20
|
|
kkara wrote: | Πάντως το θεωρώ απαράδεκτο να μην ενημερώνεσαι για τις αλλαγές που κάνουν άλλοι στον κώδικα από το ίδιο το SourceSafe. Δηλαδή αν δεν έχω τον συνάδελφο απέναντι να μου πει πάρε τελυταία έκδοση τι κάνω; Ή αν κάνουμε ταυτόχρονα αλλαγές στο ίδιο Project; Ας ελπίσουμε ότι το νέο SourceSafe για το VS2005 θα έχει διαφορετικό προσανατολισμό...
|
|
Εγώ έχω αρκετά μεγάλη εμπειρία με το vss. Αυτό που λες, όντως ακούγεται σαν καλή ιδέα αλλά στην πράξη δεν χρειάζεται τόσο συχνά. Συνήθως ο κύκλος ενός check out - check in είναι αρκετά μεγάλος σε χρονική διάρκεια (30min με 4-5 ώρες) και επειδή οι developers αποφεύγουν να δουλεύουν στα ίδια κομμάτια κώδικα (δεν επιτρέπονται multiple checkouts) δεν υπάρχει η ανάγκη στο να έχει ο ένας την τελευταία έκδοση του κώδικα του άλλου συνεχώς. Περισσότερο υπάρχει η ανάγκη επικοινωνίας για συνεννόηση σε αλλαγές στο ίδιο αρχείο ("κάνε μου check-in γιατί θέλω να προσθέσω μια function", "περίμενε μισό λεπτό να διορθώσω ένα bug") αλλά πιστεύω ότι μεγάλη λύση σε αυτό το πρόβλημα θα είναι τα partial classes του 2.0.
Αν έχετε πάντως άλλες απορίες, ρωτήστε...
Χρήστος Γεωργακόπουλος
|
|
-
01-11-2005, 22:47
|
|
cgeo wrote: | Περισσότερο υπάρχει η ανάγκη επικοινωνίας για συνεννόηση σε αλλαγές στο ίδιο αρχείο ("κάνε μου check-in γιατί θέλω να προσθέσω μια function", "περίμενε μισό λεπτό να διορθώσω ένα bug") αλλά πιστεύω ότι μεγάλη λύση σε αυτό το πρόβλημα θα είναι τα partial classes του 2.0. |
|
Χρήστο, με projects με Visual Studio 6, είμαστε αναγκασμένοι, να έχουμε multiple check-out, γιατί αλλιώς δεν μπορούμε να κάνουμε τοπικά compile, όταν το .vbp δεν είναι check-out. Με αποτέλεσμα να στηριζόμαστε στο VSS να κάνει merging στον κώδικά μας όταν γίνεται check-in. Δεν μπορώ να πω ότι γίνεται πάντα επιτυχημένα. ![Sad [:(]](/cs/emoticons/emotion-6.gif)
Πρόβλημα συνεννόησης δεν έχουμε και τόσο, αν και είμαστε σε ξεχωριστούς ορόφους, χάρη στο Messenger και τον Live Communication Server. ![Smile [:)]](/cs/emoticons/emotion-1.gif)
Το μεγαλύτερο δίλημμα που υπάρχει είναι, αν θα πρέπει να χρησιμοποιείται το VSS σε άλλα Source Management Systems τρίτων, να γίνεται το check-in, check-out εκτός του IDE εργασίας, ή μέσα από το IDE με του μηχανισμούς που παρέχει το IDE. Αυτό προκύπτει από το θέμα ότι το VSS δεν μπορεί να κάνει merging σε binary αρχεία. Αν πρέπει όλα τα αρχεία του project να είναι μέσα στο VSS. πχ resource files, access databases και τα τελικά .dll και .exe αρχεία, τουλάχιστον για το VS6 αυτό είναι ζήτημα, γιατί δεν μπορείς να κάνεις check-out ένα .dll μέσα από το IDE για να το ξανακάνεις complile και να το βάλεις ξανά μέσα - πρέπει να το κάνεις check-out εξωτερικά του IDE και μετά το compile μέσα από το IDE, και τέλος το check-in πάλι εξωτερικά.
George J.
|
|
-
01-11-2005, 23:42
|
|
Με το 6 δεν έχω παίξει... Αυτό πάντως με τις dlls ακούγεται μεγάλο μπλέξιμο. Μήπως να φτιάχνατε μια εφαρμογή να τσεκάρει αυτόματα για ενημέρωση του dll αρχείου και να κάνει αυτόματα post το αρχείο στο vss ? Με το api του vss στο VS2003 είναι αρκετά εύκολο.
Για λοιπά αρχεία, εγώ το χρησιμοποιώ για όλα μου τα projects, ακόμα και για άσχετα πράγματα από το VS (γραφικά, documents κλπ). Ρίξε και μια ματιά στο ESS (http://www.codeproject.com/tools/ess.asp) διευκολύνει λίγο τα πράγματα.
Γενικά δεν έχω τέτοια προβλήματα γιατί δεν έχω λόγους σαν τους δικούς σου για να χρησιμοποιώ multiple checkouts.
PS. Τώρα που το σκέφτομαι, με το API θα μπορούσε να φτιαχτεί εξίσου εύκολα μια εφαρμογούλα που να κάνει sync τη βάση του vss με τα local αρχεία... Αν βρεθεί βέβαια τρόπος να μην γίνεται αυτό την ώρα του build... Καμιά ιδέα;
Χρήστος Γεωργακόπουλος
|
|
-
04-04-2006, 05:20
|
-
03-06-2006, 03:03
|
-
Δημήτρης Γκανάτσιος
-
-

-
Μέλος από τις 22-06-2005
-
Πετράλωνα, Αθήνα
-
Δημοσιεύσεις 444
-
-
|
'Ανασταίνω' λίγο το thread, για να ρωτήσω κι εγώ με τη σειρά μου κάποια πράγματα. Χρησιμοποιώ το Visual Studio 2005 και το Visual Source Safe 2005. Ξεκινάω: 1. Ο 'ορθός' τρόπος δημιουργίας ενός source controlled project είναι η δημιουργία του από το Visual Studio και μετά 'add solution to source control' ή υπάρχει και κάτι άλλο; 2. Ας πούμε ότι δύο team members θέλουν να δουλέψουν στο ίδιο solution ταυτόχρονα. Πώς γίνεται ακριβώς αυτό; Δηλαδή, θα κάνουν open το original sln αρχείο μέσα από το studio, θα ανοίξουν το sln από το Visual Source Safe client που έχουν, ή θα ανοίξουν αυτό που έχει αποθηκευτεί στο working folder τους; 3. Όσον αφορά το working folder, εκεί αν έχω καταλάβει καλά αντιγράφονται τα αρχεία εργασίας κατά τη διάρκεια που αυτά είναι checked out. Όταν γίνουν check - in τότε τι ακριβώς γίνεται με τα αρχεία στο working folder; Δηλαδή, τι ρόλο ύπαρξης έχουνε πλέον; Είναι λίγο ασαφείς οι ερωτήσεις μου, το γνωρίζω, αλλά αν μπορεί κάποιος ας απαντήσει και συνεχίζουμε......
Dimitris-Ilias Gkanatsios Developer Evangelist, Microsoft Hellas My BlogStudentGuruTwitterFacebook
|
|
-
03-06-2006, 09:03
|
|
- Είναι πολύ πιο βολικό να κάνεις add μέσα από το VS (και μετά να ελέγχεις ότι έχει μπει στη σωστή θέση)
- Το ότι θέλουν δύο developers να δουλέψουν το ίδιο solution δεν σημαίνει ότι γίνεται check out το sln. Το sln γίνεται checkout μόνο όταν προσθαφαιρούνται projects και το vbproj και csproj μόνο όταν προσθαφαιρούνται αρχεία ή υπάρχουν αλλαγές στο configuration. Αυτές οι δουλιές όμως δεν επηρεάζουν άμεσα τον κώδικα (αν είναι compilable ή όχι), οπότε μπορούν να είναι πολύ σύντομες. Δηλαδή, θέλω να προσθέσω ένα νέο αρχείο στο project μου, κάνω check out το vbproj, προσθέτω το αρχείο (πχ ένα winform) και όπως είναι, χωρίς δικό μου κώδικα, ξανακάνω check in το project. Κατόπιν κάνω check out το νέο μου αρχείο και δουλεύω. Οπότε επειδή οι δύο developers δουλεύουν το ίδιο project αλλά εν γένει διαφορετικά αρχεία, δεν υπάρχει πρόβλημα.
- Το working folder διατηρεί ένα local copy των αρχείων. Δεν διαγράφονται στο checkin. Επίσης, μπορείς να χρησιμοποιήσεις αυτά τα αρχεία για να κάνεις άλλες γενικότερες εργασίες που δεν χρειάζονται check out (πχ, να πάρεις ένα πρόχειρο backup, να τα κοπιάρεις για να τα πάρεις στο σπίτι σου χωρίς να έχεις vss, να τρέξεις κάποιο εξωτερικό εργαλείο για code analysis το οποίο δεν ξέρει από vss, κλπ.).
Να συμπληρώσω επίσης, ότι επειδή το VS, και ιδιαίτερα το VS 2005 γίνονται αρκετά καλά integrate με το VSS, είναι ιδανικά για source control σε projects με οποιαδήποτε αρχεία. Για παράδειγμα, φτιάχνουμε ένα flash web site, και θέλουμε source control στα αρχεία μας. Έχουμε ουσιαστικά fla, swf, html, psd, cdr, gif, jpg κλπ αρχεία και καθόλου κώδικα. Οπότε επειδή το να τα διαχειριστούμε με το χέρι από VSS έχει το μπλέξιμό του (manual add, remove, move), φτιάχνουμε ένα solution στο VS και τα χειριζόμαστε από εκεί. Το solution βέβαια κώδικα δεν έχει, compile δεν χρειάζεται, αλλά το VS μου δίνει τη δυνατότητα να χειρίζομαι εύκολα τα αρχεία μου με source control από πίσω.
Χρήστος Γεωργακόπουλος
|
|
-
03-06-2006, 13:15
|
-
Δημήτρης Γκανάτσιος
-
-

-
Μέλος από τις 22-06-2005
-
Πετράλωνα, Αθήνα
-
Δημοσιεύσεις 444
-
-
|
Καταρχάς, ευχαριστώ για τη γρήγορη απάντηση. 1. Για να δούμε το θέμα σε μια λίγο πιο real κατάσταση (μπας και καταλάβω τι γίνεται), ας πάρουμε ένα παραδειγματάκι.Έστω ότι εγώ, ο developer A, δημιουργώ ένα solution σε ένα folder FA στο PC μου, φτιάχνω φόρμες σε ένα project, φτιάχνω business logic σε ένα άλλο, φτιάχνω DAL σε ένα άλλο. Έχω λοιπόν στο folder FA στο PC μου, ένα sln με τρία projects. Κάνω add recursively το solution σε source control (οπότε αντιγράφονται τα πάντα στη VSS database). Ο developer B μετά, θέλει να δουλέψει πάνω στο solution. (χαζή ερώτηση coming....  ) Πώς θα το ανοίξει;;;;; Θα ανοίξει το sourcesafe client που έχει στο PC του, και μέσω αυτού θα κάνει edit το sln αρχείο ώστε να κατέβουν όλα τα αρχεία στο working folder του, ή θα πρέπει να έχω κάνει share εγώ τον φάκελο FA (όπου έκανα την ανάπτυξη πριν κάνω add στο VSS) και να το ανοίξει από κει; 2. Στο ίδιο σενάριο, ο developer B θέλει να κάνει build το solution, π.χ. για να το πάει demo σε πελάτη. Θα έχει ανοίξει το project, θα κάνει ένα build σε release, και θα πάρει το ouput από το working folder του και τέλος; Ή θα πρέπει να χρησιμοποιήσει shadow folder;
Dimitris-Ilias Gkanatsios Developer Evangelist, Microsoft Hellas My BlogStudentGuruTwitterFacebook
|
|
-
04-06-2006, 08:38
|
|
- Το ανοίγει από το File/Source control/Open from source control όπου εκεί βλέπει τα projects μέσα από το VSS. (Αρκεί βέβαια να έχει συνδεθεί στη βάση του VSS). Ψάχτο λίγο, δεν είναι δύσκολο.
- Θα ανοίξει το studio, θα κάνει get latest σε όλο το solution, θα κάνει το build και μετά από το working folder που έχει κάτσει το startup project θα πάρει τα αρχεία. Δεν αλλάζει κάτι σε αυτό επειδή υπάρχει VSS από πίσω.
Μην το φοβάσαι καθόλου το VSS, το μπλέξιμο στις καθημερινές διαδικασίες είναι από ελάχιστο ως ασήμαντο.
Χρήστος Γεωργακόπουλος
|
|
|
|
|