Alternatywy dla profesjonalnej kontroli wersji [zamknięte]

57

Współpracujemy z niektórymi programistami (pisarzami), którzy muszą przyczynić się do jednego z naszych projektów.

Teraz po prostu nie podoba im się pomysł użycia Gita (lub czegoś podobnego) do wersji kontrolującej ich pracę. Myślę, że dzieje się tak, ponieważ po prostu nie warto oplatać głowy pokręconymi koncepcjami kontroli wersji. (kiedy po raz pierwszy zapoznałem ich z rozgałęzianiem i łączeniem - wyglądali, jakbym ich obrażał).

Teraz nie jesteśmy w stanie ich edukować ani przekonać do korzystania z nich. Po prostu staramy się znaleźć alternatywy, aby uzyskać dostęp do wersji całej ich pracy (czego potrzebujemy) - i uzyskać łatwy przepływ pracy i skoncentrować się na tym, co robią.

Wpadłem na kilka pomysłów ...

  • każ im zapisywać swoją pracę jako osobny plik za każdym razem, gdy dokonają nietrywialnych zmian, a następnie użyj diff po naszej stronie, aby śledzić zmiany.
  • napisać program (w języku Python), który w jakiś sposób implementuje „kamienie milowe” w CSSEdit.

O projekcie:

Jest to system przetwarzania języka naturalnego (napisany w C + Python). Zatrudniliśmy kilku pisarzy, aby przygotowali dane wejściowe dla systemu w różnych językach. Wraz z rozwojem oprogramowania potrzebowalibyśmy tych pisarzy, aby wprowadzali zmiany w swoich danych wejściowych (artykułach). Czasami zmiany są bardzo małe (słowo lub dwa), a innym razem duże.

Powodem, dla którego musimy kontrolować te zmiany, jest to, że każda mała / duża zmiana danych wejściowych może radykalnie zmienić dane wyjściowe systemu.

treecoder
źródło
15
@rwong - lub wiki z wersjonowaniem, które również może działać.
Joris Timmermans,
4
Dodając do komentarza @MadKeithV, co powiesz na wiki zasilaną przez Git? github.com/github/gollum - Wprowadzone zostaną pewne zmiany w przepływie pracy, próbujesz połączyć dwa zespoły. Czy odkryłeś ich obecne narzędzia? Istnieje niewielka możliwość, że obsługują one kontrolę wersji, a twoi pisarze nigdy nie zadali sobie trudu, aby się dowiedzieć ...
yannis
20
To naprawdę po prostu. Jeśli zamierzasz płacić tym osobom, powiedz im, że mogą albo skorzystać z twoich narzędzi i otrzymać zapłatę, albo jeśli odmówią korzystania z twoich narzędzi, nie dostaną zapłaty. Jakikolwiek środkowy grunt będzie oznaczał więcej pracy dla ciebie, ponieważ to kosztuje, równoważy znalezienie grupy ludzi, którzy będą pracować z twoimi narzędziami.
Ramhound,
4
Fossil to ciekawy VCS, który ma również wersję Wiki. Użyliśmy go jako sposobu na aktualizowanie dokumentów, ale można go użyć do „wersji” takich rzeczy.
Ben Brocka,
34
DLACZEGO próbowałeś wprowadzić oddziały i połączyć się z nietechnicznymi technologiami? Chcesz wersję ich pracy, w porządku. Możesz powiedzieć im, jak chcesz to zapisać. Chcesz, żeby obsłużyli gałęzie i scalenia, idziesz z głębokiego końca. Powinieneś zdobyć im coś miłego i łatwego, jak Tortoise *, i unikać mówienia im wszystkiego, czego tak naprawdę nie potrzebują.
David Thornley,

Odpowiedzi:

102

kiedy po raz pierwszy zapoznałem ich z rozgałęzianiem i łączeniem - wyglądali, jakbym ich obrażał

Wynika to prawdopodobnie z tego, że rozgałęzianie i scalanie to zaawansowane koncepcje i nieskończenie mniej przydatne niż zwykłe śledzenie zmian.

Dlaczego więc nie wyjaśnić po prostu „zatwierdzenia” (zapisania) i „aktualizacji”? Dwie naprawdę proste koncepcje. Jestem pewien, że możesz to wyjaśnić w mniej niż 10 minut.

Jeśli naprawdę chcesz używać oddzielnych gałęzi i podobnych rzeczy, możesz wykonać tę część samodzielnie, bez angażowania ich w to.

Thomas Bonini
źródło
20
+1. Dla ich celów, utrzymywanie prostej historii jest radykalnym i zmieniającym grę pojęciem. Myślę, że jest mało prawdopodobne, aby pisarz kiedykolwiek potrzebował rozgałęzienia i scalenia, a gdyby tak było, potrzebowałby ręki dewelopera do trzymania podczas zarządzania.
Dan Ray
7
@BillK, czy próbowałeś połączyć się z git? Myślę, że działa całkiem dobrze, znacznie lepiej niż w przypadku SVN. (Nie
zalecam
10
@ Bill K Szczerze mówiąc, brzmi to tak, jakbyś musiał nadrobić zaległości po 20 latach na SVN (jeśli w ogóle). Rozgałęzianie i łączenie może naprawdę nie mieć sensu dla tych pisarzy, ale nie jestem pewien, jak udało ci się programować przez 20 lat bez rozgałęziania repozytorium. Jest tak wiele przypadków, w których gałęzie są dobrą praktyką i ułatwiają życie; w rzeczywistości ślepe odrzucenie koncepcji świadczy o złym osądzie (IMHO). W SVN rozgałęzianie było uciążliwe, ale z git wszystko stało się naprawdę łatwe. Zrób sobie przysługę, pokonaj swoje ego i zainwestuj popołudnie, aby nauczyć się podstaw gita. Nie pożałujesz, obiecałeś!
Robin,
6
@ user606723: TortoiseSVN i TortoiseGIT oferują integrację powłoki systemu Windows.
Roy Tinker,
6
Jestem prawie pewien, że próba nauczenia Git rozgałęziania i łączenia się z nietechnicznymi jest pogwałceniem praw człowieka.
Steve Bennett,
69

Dość niekonwencjonalnym podejściem byłoby po prostu użycie Dropbox . Poproś autorów o zapisanie plików w katalogu dropbox, a otrzymasz wersję i kopię zapasową za darmo. Ponadto autorzy zasadniczo nie mają krzywej uczenia się.

W przypadku git brzmi to tak, jakby w końcu i tak dostarczysz autorom poprawne wersje gałęzi, więc po prostu umieść repozytorium git w Dropbox i zajmij się tworzeniem gałęzi i scalaniem dla autorów.

OliverS
źródło
21
Chciałem zasugerować to samo. Nie ma powodu, dla którego nie można również ustawić folderu w Dropbox jako repozytorium git repo (nie muszą wiedzieć) i okresowo (np. Codziennie) zatwierdzać. W ten sposób otrzymujesz wszystkie fajne rzeczy git (diffs, logi, bisects itp.) Za darmo.
Simon Whitaker,
4
Upewnij się, że korzystasz z wersji płatnej, ponieważ wersja bezpłatna zapisuje wersje tylko na ~ 30 dni, jeśli dobrze pamiętam.
DMan
5
Mogę tylko -1 odpowiedź, która sugeruje usługę zewnętrzną, wprowadza pojedynczy punkt awarii i stawia twoje dane na łasce potencjalnych intruzów, gdy w innych odpowiedziach sugerowanych jest tak przydatne oprogramowanie, a zaangażowane strony są wyraźnie prezentowane jako zdolni programiści.
sam hocevar,
4
@DavidThornley: nie słyszałeś o rzeczywistych problemach z bezpieczeństwem w Dropbox ?
sam hocevar,
3
@Sam Hocevar: OK, teraz mam. To były cztery godziny podatności, co z pewnością nie jest dobre, ale niekoniecznie oznacza, że ​​to zły pomysł. Znowu zależy to od tego, jak delikatne jest pisanie, i czy akceptowana jest niewielka szansa, że ​​może być zauważony przez osobę z zewnątrz. (To oczywiście nie nadaje się do dokumentacji medycznej, ale nie mam wątpliwości, że zostawiam tam złą fikcję i niedokończone projekty oprogramowania.)
David Thornley,
28

Prawdę mówiąc, że odpowiedź jest w swojej edit: „Mamy wynajęty Niektórzy pisarze” - czasami po prostu trzeba być krwawe myślących ... chcą swoje pieniądze, co muszą zrobić to, co ty chcesz, pod warunkiem, że to, co chcesz, nie jest nieuzasadnione.

Argument, który wysyłasz, jest argumentem, który już przedstawiłeś - musimy być w stanie wykonać X, Y i Z, aby produkt działał - i aby to zrobić , musisz to zrobić. Będziemy jak najlepiej wspierać, ale aby to zadziałało (i dlatego, aby nadal stanowiło źródło dochodów dla ciebie, pisarza), musi się to zdarzyć.

Zgadzam się, że odpowiednie rozwiązanie oparte na Wiki wydaje się być dobrym rozwiązaniem - ale wyzwanie polega na tym, jak znaleźć kompromis między ich przepływem pracy a Twoimi wymaganiami.

Będę powtarzać kluczowy punkt - w kolejności do projektu odnieść sukces trzeba artykuły należy zatem wersjami tych, którzy pracują na artykułach grać przez uzgodniony zestaw reguł, jeśli to nie zdarzy ci się dostać wypalony, a więc i napisy.

Murph
źródło
Całkowicie się z tobą zgadzam. Ale widzisz, że istnieje coś zwanego „zarządzaniem” między nami (zespołem programistów) a pisarzami. Kierownictwo zatrudniło pisarzy i kazało nam z nimi współpracować. Fakt, że niechętnie uczą się kontroli wersji, jest czymś, co kierownictwo uważa za problem, które należy „dostosować” między nami (zespołem) a nimi (programistami).
treekoder
1
W pewnym sensie zgadłem ... ale potem musisz przekazać swoją sprawę zarządowi i to samo. Mają rację, że to coś, co musi zostać „dostosowane” (interesujący wybór słowa) - ale kompromis jest dwukierunkowy, musisz dać im coś, z czym mogą pracować, muszą z tym pracować.
Murph,
Yay - głosuj bez żadnego wyjaśnienia, zawsze tak jak oni.
Murph,
2
@greengit Problemy, które należy „dopasować” między zespołami, są częścią tego, do czego służy zarządzanie. Przekazanie odpowiedzialności jednemu zespołowi jest albo leniwe, albo może wskazówką, że kierownictwo woli podejście tego zespołu. Proponuję więc zasugerować zarządzanie rozwiązaniem, które ma dla ciebie większy sens, i niech martwią się o wszystko inne.
yannis,
3
Mam tendencję do przedstawiania tych „korekt” w zarządzaniu w formie budżetu na proponowane zmiany. „Jasne, możemy uniknąć ich używania (git,…). Będziemy musieli zatrudnić sekretarkę, aby to dla nich zrobiła. Podpisz tutaj, a zacznę rozmowy w poniedziałek”.
BRPocock,
18

Wcześniej miałem do czynienia z podobną sytuacją. Na koniec wyznaczyliśmy jednego programistę (mnie) jako punkt kontaktowy kontroli wersji dla strony trzeciej.

Osoba trzecia codziennie przesyła mi e-mailem plik zip swoich plików projektu, a ja sprawdzam je. Skonfigurowałem dla nich osobny obszar roboczy projektu i konto svn i rozpakowałem pliki do tego obszaru roboczego, nadpisując to, co tam było, a następnie dokonam odprawy w ramach tego konta.

To nie była najfajniejsza praca każdego dnia, ale czasem ważniejsze jest po prostu wykonanie pracy.

Jedną z zalet było to, że pomogło mi to przejrzeć ich pracę, aby upewnić się, że nie sprawdzają złego kodu i danych, które mogłyby uszkodzić kompilację.

Alan Barber
źródło
+1 Gdyby to było możliwe, byłoby to „problem rozwiązany!” dla nas. Nie dzieje się tak dlatego, że jesteśmy małą firmą i nie sądzę, aby sugerowanie oszczędzania jednego programisty częściowo lub wyłącznie dla tego zadania zwróciłoby mi wszelkie uśmiechy z (idiotycznego) zarządzania. Naprawdę tak myślę o naszym zarządzaniu.
treekoder
2
@greengit - Jeśli zasugerujesz, że jest to jedyne rozwiązanie, które Twoim zdaniem zadziałałoby, koszty wymuszą na zatrudnieniu różnych ludzi, którzy będą pracować z twoimi narzędziami. Oczywiście możesz wyjaśnić mangementowi, że DOWOLNE rozwiązanie oprócz kontroli wersji ZOSTANIE KOSZTOWAĆ PIENIĄDZE albo pracując nad problemami (i rozwiązując je), które powstały w wyniku pracy, albo spędzając dodatkowy czas próbując zapobiec problemom (chyba że zignorujesz oba te kluczowe punkty , pojawią się problemy, faktycznie się zdarzą bez względu na wszystko).
Ramhound,
3
@greengit Oczywiście będzie to zależeć od tego, co jest zaangażowane w twój proces, ale w moim przypadku zajęło mi mniej niż 5 minut dziennie na sprawdzenie plików innych firm. To było moje rozwiązanie, aby zminimalizować marnowanie czasu, próbując opracować proces i wyszkolić w nim inną firmę.
Alan Barber
To nie powinno być takie trudne. Jedna osoba to interfejs od autorów do systemu kontroli wersji. Wiedzą, aby przekazać mu wszystkie swoje zmiany. Nie powinien zająć mu więcej niż minutę lub dwie, aby upuścić swoje zmiany i zatwierdzić je.
Dan Ray
@greengit - To będzie moja odpowiedź. Tak, zajęłoby trochę czasu, aby wykonać pożyteczną pracę. Napisanie własnego systemu (który wydaje się chętny do zrobienia) zajęłoby więcej czasu. I pisarze wciąż by narzekali.
Mike Baranczak,
18

SparkleShare to oparty na gitach klon dropbox, myślę, że odpowiada twoim potrzebom.

SparkleShare tworzy specjalny folder na twoim komputerze. Możesz dodać zdalnie hostowane foldery (lub „projekty”) do tego folderu. Te projekty będą automatycznie synchronizowane zarówno z hostem, jak i wszystkimi użytkownikami, gdy ktoś doda, usunie lub edytuje plik.

... oto kilka przykładów tego, co robi dobrze i gorzej z uśmiechniętymi twarzami:

Wspaniały

  • Często zmieniające się pliki projektów, takie jak tekst, dokumenty biurowe i obrazy
  • Śledzenie i synchronizowanie plików edytowanych przez wiele osób
  • Przywracanie pliku do dowolnego punktu w historii
  • Zapobieganie szpiegowaniu plików na serwerze za pomocą szyfrowania

Nie za dobrze

  • Pełne kopie zapasowe komputera
  • Przechowywanie Twojej kolekcji zdjęć lub muzyki
  • Duże pliki binarne, które często się zmieniają, takie jak projekty do edycji wideo ...

Aktualizacja (listopad 2015 r.) : Projekt wydaje się być porzucony (ostatnie wydanie z kwietnia 2014 r.).

komara
źródło
Bardzo obiecujące, ale może trochę niedojrzałe. Na pewno jednak będę miał na to oko.
Zsolt Török,
13

Jeśli możesz zapewnić przygotowany obszar roboczy z przezroczystym użyciem VCS, będą używać VCS. Nie ucz nieprogramiści korzystania z VCS na sposób programisty

Wystarczy znaleźć edytor z wbudowaną obsługą VCS, skonfigurować go i pokazać dodatkowe łatwe kroki w ich pracy.

Tylko przykład - Editplus wie o Subversion, ma możliwość wykonywania podstawowych operacji SVN w oknie edytora. Najnowsze Editplus może nawet używać TortoiseGIT do integracji z Git

Edycja : znaleziono rozwiązanie alternatywne: EasySVN , który przy prawidłowej konfiguracji monitoruje kopię roboczą oraz wykonuje automatyczne zatwierdzanie i automatyzację, umożliwiając korzystanie z dowolnego narzędzia do tworzenia treści dla użytkownika końcowego i dowolnego formatu dokumentu

Lazy Badger
źródło
11

Co z konfiguracją WebDAV ?

Automatycznie obsłuży dla nich historię wersjonowania linii prostej. Wszystko, co muszą zrobić, to połączyć się z serwerem, jakby to był dysk sieciowy, a każde zapisanie będzie zatwierdzeniem.

Malfist
źródło
+1 dla WebDAV. Naprawdę nie pomyślałem o tej opcji. Jak myślisz, jak trudno będzie wdrożyć i utrzymywać serwer WebDAV (+ przepływ pracy)
treecoder
To naprawdę proste, konfigurujesz apache, subversion, repo. Następnie zainstaluj moduł apache i skonfiguruj go i gotowe.
Malfist,
-1, ponieważ „automagicznie” nie jest słowem.
dreftymac
4
@dreftymac en.wikipedia.org/wiki/Hair-splitting
SplinterReality
1
Być może możesz uściślić tę odpowiedź: Skonfiguruj Subversion + Apache + WebDAV na serwerze i zamontuj udział WebDAV od klientów niebędących programistami. Powiedz użytkownikom, aby zapisali, że pracują w udziale WebDAV co najmniej raz dziennie.
Jan
7

Dokumenty Google

Dokumenty Google mogą robić, co chcesz. File > See Revision Historypozwoli ci śledzić zmiany.

Masz również problem z przekazywaniem plików tam iz powrotem za darmo; po prostu udostępnij dokument wszystkim.

Wreszcie jest łatwy w użyciu; autorzy nie muszą nawet wiedzieć, że dzieje się wersjonowanie.

Nathan Long
źródło
6

OS Agnostic

Napisz program Pythona, który można przeciągnąć i upuścić plik na, że program może następnie wykonać git addi git commit, a co nie i nigdy nie miał do czynienia z nim.

lub

Użyj systemu plików opartego na WebDav, który możesz zamontować na swoim komputerze i pozwolić serwerowi robić gitrzeczy w sposób transparentny.

OSX / Linux

Napisz wtyczkę FUSE opartą na języku Python, która pobiera pliki i zatwierdza je w git. Następnie mogą po prostu otworzyć i zapisać w przejrzysty sposób z zamontowanego systemu plików. Istnieją pewne zasoby FUSE dla Windows , ale prawdopodobnie nie warto ich oszukiwać.

Windows

Możesz napisać kod, aby użyć sterowników filtrów systemu plików do przezroczystości git.

użytkownik7519
źródło
5

Ach, radości nieokreślających bzika. Sugeruję skonfigurowanie dla nich środowiska git / mercurial. Powiedz im, aby zapisali wszystko w formacie, który może obsługiwać repo. W przypadku żółwia lub żółwia nie muszą wiedzieć, jak działa repo. Sprawdzają tylko, czy mają wykrzyknik w katalogu projektu, klikając prawym przyciskiem myszy plik, który go narusza, i zatwierdzają. Wpisz streszczenie zmian (są pisarzami, prawda?) I gotowe!

Dla nich to dodatkowy krok w przepływie pracy, ale nic o łączeniu / rozgałęzianiu / fajnych rzeczach. Wstępnie zbudowane środowisko jest już skonfigurowane w gałęzi scenarzystów, więc nie widzą kodu. Niech skrypt automatycznie synchronizuje je codziennie. Później, po przyzwyczajeniu się do popełnienia, możesz pokazać im dodatkowe funkcje. Możliwość zobaczenia, co się zmieniło, gdy jest tak przydatna, że ​​nie będą mogli się bez niej obejść, gdy tylko zakradniesz się do jej przepływu pracy.

Spencer Rathbun
źródło
5
Uświadomiłem sobie, że wszyscy nietechniczni pisarze (YMMV) uważają swoją poprzednią pracę za bezużyteczną po wprowadzeniu jakichkolwiek zmian. Uważają, że zaktualizowana praca (artykuł lub cokolwiek, co piszą) jest najlepsza i głupotą jest zachować poprzednie wersje. Chociaż w naszym przypadku przynajmniej z powodzeniem wyjaśniliśmy im, dlaczego potrzebujemy również historii.
treekoder
Być może @greengit. Jeśli wykażesz, w jaki sposób dostosowujesz ich do zarządzania, w jaki sposób ten prosty i łatwy krok pomaga tobie i jak to oszczędza / zarabia pieniądze firmy, to i tak będą musieli to zrobić. Biznes opiera się na dolnej linii, więc powiedz szefowi, że integruje to pisarzy w potoku technicznym i oszczędza pieniądze na kosztach integracji, kopiach zapasowych (tworzysz kopię zapasową repo, prawda?) I przekazywaniu informacji.
Spencer Rathbun,
+1 Skonfigurowaliśmy również naszych koordynatorów projektu i pracowników działu obsługi klienta do korzystania z TortoiseSVN. Po wstępnym wyjaśnieniu (i pomaganiu im w początkowej kasie) nie mieli problemu z zatwierdzeniem ich zmienionych wersji (głównie dokumentów biurowych i obrazów makiet). Lubili nawet to, że automatycznie otrzymają najnowszą wersję, jeśli kolega coś zmieni.
sleske,
3

Co z Share Point? Wiem, że nie jest popularny w świecie programowania, ale jeśli twoi pisarze używają Windows jako systemu operacyjnego, będzie działał dobrze i tak naprawdę nie będzie wiedział, że używa kontroli wersji (duży plus dla mojej pracy).

To rozwiązanie powstrzymuje ich również od radzenia sobie z czymkolwiek, co by ich bardzo przeraziło, ponieważ wydaje się, że są zalane nowymi rzeczami.

JustinDoesWork
źródło
+1, ponieważ to właśnie robi nasz zespół i działa.
sq33G
Wolę pracować z odpowiednim systemem kontroli wersji niż SharePoint, gdzie znajduje się część dokumentacji naszej firmy, ponieważ przesyłanie nowych wersji do SharePoint wymaga więcej pracy.
Chris Morgan,
2

Czy możesz ustawić narzędzie, które monitoruje system plików, w którym autorzy zapisują swoje pliki, i czy wykonuje automatyczne zatwierdzanie za każdym razem, gdy zapisuje?

Jeśli umieścisz go w udziale sieciowym, możesz wykonać całą konfigurację, nie angażując ich wcale; ale za każdym razem, gdy dostarczyli zaktualizowaną wersję do wykorzystania przez Twój zespół, byłaby dodawana do git dla Ciebie.

Dan Neely
źródło
1

Czy spojrzałeś na Plastic SCM. Próbują uprościć obsługę

Jeśli chcesz tylko wersjonowanych kopii zapasowych, możesz użyć Dropbox lub możesz skonfigurować usługę tworzenia kopii zapasowych systemu Windows. Lub możesz zainstalować Crashplan lub inny podobny produkt.

Amala
źródło
+1 za skierowanie mnie do nowej oferty komercyjnej w dziedzinie DVCS
Roland Tepp
1

W przypadku Mercurial DVCS istnieje interfejs użytkownika o nazwie EasyMercurial , którego wyraźnym celem jest zapewnienie prostego widoku podstawowych operacji kontroli wersji.

EasyMercurial ma być:

  • prosty do nauczenia i do nauki, wskazujący aktualny stan repozytorium, przy użyciu graficznego przedstawienia historii
    • zauważalnie zbliżony do normalnego przepływu pracy w wierszu poleceń dla Mercurial spójny na różnych platformach

Nie staramy się produkować „najlepszego” klienta Mercurial do jednego celu. Aktywnie zachęcamy użytkowników do przechodzenia do innych klientów w miarę ewolucji ich potrzeb. Celem jest po prostu zapewnienie czegoś dostępnego dla początkujących w małych grupach projektowych pracujących ze wspólnym zdalnym repozytorium.

Poleciłbym spróbować.

Laurens Holst
źródło
1

Wielokrotnie musiałem współpracować z nie-programistami (głównie grafikami, a jeśli twoi pisarze nie mają pojęcia, jak zarządzać plikami roboczymi jak artyści, czeka cię ... hmmmm ... zabawa ... .). Istnieją trzy możliwe podejścia:

  1. Udawaj, że są programistami, spróbuj nauczyć ich, jak korzystać z kontroli wersji. To nie zadziała i będziesz miał ciągłe walki.
  2. Napisz do nich bardzo proste narzędzie, które po prostu pobiera bieżącą wersję i gdzieś ją trzyma, aby w razie potrzeby móc przewinąć do wczorajszych plików. Jest to możliwe i zrobiłem to dla zespołu twórców DVD (tworzenie menu, grafiki, wszelkiego rodzaju rzeczy) wiele lat temu z pewnym sukcesem: narzędziem, które napisałem, było opakowanie PkZip jednym kliknięciem (widać, że to było jakiś czas temu) i po prostu spakował katalog roboczy i nazwał archiwum na datę + czas.
  3. Przejmij kontrolę nad tym, co oni produkują. Wyjaśnij, że ich pliki muszą zostać dostarczone do programisty i stać się częścią projektu dopiero wtedy, gdy programista zaakceptuje pliki: programista następnie sprawdza je pod kontrolą wersji, a zawartość jest zarządzana w profesjonalny sposób.

Osobiście uważam, że najlepszym rozwiązaniem jest opcja 3. Oznacza to pewien ból i irytację dla każdego, kto musi wziąć dostawy plików i sprawdzić je, ale o wiele mniej niż jakakolwiek inna opcja.

Powiedziałbym również, pamiętajcie, że nieprogramiści dostarczą pliki z dowolną starą nazwą pliku, jaką tylko wymyślicie. Konwencje nazewnictwa są dla nich dziwnie obce. Dadzą ci plik o nazwie „Obraz” lub coś, a następnie, gdy powiesz im, że coś jest nie tak, dostaniesz plik o nazwie „Obrazek_final”, który ma tylko około 3 błędów. Kiedy to zauważysz, otrzymasz inny plik, o nazwie „Picture_NewFinal”, a następnie (jeśli masz szczęście) „Picture_NewFinal2”, chociaż możliwe jest, że w tym momencie odrzucą jakiekolwiek poczucie historycznego rozwoju i nazwie go „Ikona klucza” rzecz".

Ponownie możesz spróbować narzucić konwencję nazewnictwa, co oznacza , że musisz wcześniej powiedzieć, jak ma być nazywany każdy plik, lub możesz godzinami rozszyfrować i zmienić nazwę tego, co ci wysyłają. Tutaj powiedziałbym, że i tak chcesz arkusza kalkulacyjnego dla własnego zdrowia psychicznego, więc postaraj się, aby postępowali zgodnie z nim: po prostu nie zdziw się, gdy tego nie zrobią.

Mam nadzieję, że to pomoże - baw się dobrze!

AAT
źródło
0

Jeśli istnieje jakakolwiek szansa, że ​​dwóch z nich musi jednocześnie pracować nad tym samym celem ORAZ jeśli poradzisz sobie z całą ich pracą w plikach tekstowych, spróbuję udostępnić dokumenty google.

Ma niesamowite możliwości edytowania / współpracy - zdecydowanie najlepsze, jakie kiedykolwiek widziałem. Są również w pełnej wersji i mogą być eksportowane jako pliki tekstowe.

Ale to są dwa całkiem duże ifs.

Bill K.
źródło
0

Pozwól im pracować w folderze, zapisując pliki jak zwykle.

Raz dziennie (lub tydzień itp.) Skopiuj zawartość tego folderu do backup_dd_mm_rrrr Większość kodu źródłowego systemu zajmuje trywialną ilość miejsca, biorąc pod uwagę ilość dostępnego miejsca w tych dniach.

Kopia może być wykonana przez ciebie, przez nich, osobę trzecią, narzędzie lub skrypt.

Ogranicza to straty do jednego dnia, daje historię, jest dla nich przejrzyste.

Nie jest to idealne rozwiązanie dla żadnej ze stron, ale odpowiedź, która ma na celu uderzenie w środek.

Michael Durrant
źródło